Многомерные массивы

Элементами массива могут быть любые структуры, в том числе и другие массивы:

 

$sotrud = array

(

array("Иван","Иванов", 25560),

array("Петр","Петров", 32760),

array("Сидор","Сидоров", 18900),

array("Василий","Пупкин", 8650),

);

 

Создан массив $sotrud, имеющий четыре строки и три столбца (нумерация начинается с нуля). Каждый элемент этого массива имеет два индекса – номер строки и номер столбца. Как и в Си, они записываются в отдельных квадратных скобках:

 

$sotrud[2][0] //”Сидор”

Вывод на экран такого массива можно осуществить функцией var_damp():

 

var_damp($sotrud);

 

 

На экране появится:

 

array(4) { [0]=> array(3) { [0]=> string(4) "Иван" [1]=> string(6) "Иванов" [2]=> int(25560) } [1]=> array(3) { [0]=> string(4) "Петр" [1]=> string(6) "Петров" [2]=> int(32760) } [2]=> array(3) { [0]=> string(5) "Сидор" [1]=> string(7) "Сидоров" [2]=> int(18900) } [3]=> array(3) { [0]=> string(7) "Василий" [1]=> string(6) "Пупкин" [2]=> int(8650) } }

При использовании циклов for и foreach этот массив можно вывести построчно:

 

for ($i = 0; $i < count($sotrud); $i++)

{

echo "Строка $i:<BR>";

foreach($sotrud[$i] as $index=>$value)

{

echo $index, '=>',$value, "<BR>";

}

echo "<BR>";

}

 

На экране появится:

 

Строка 0:
0=>Иван
1=>Иванов
2=>25560

Строка 1:
0=>Петр
1=>Петров
2=>32760

Строка 2:
0=>Сидор
1=>Сидоров
2=>18900

Строка 3:
0=>Василий
1=>Пупкин
2=>8650

Для вывода элементов массива в составе текстовой строки последние берутся в фигурные скобки:

 

echo "Сотрудник {$sotrud[0][1]} получает {$sotrud[0][2]} руб.", "<BR>";

На экране появится:

 








Дата добавления: 2015-04-19; просмотров: 901;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.