Рассмотрим создание двумерных массивов в PHP. Например, для представления шахматной доски нужен двумерный массив 8x8.

Двумерный массив можно представить в таком виде:

[ ]   [ ]   [ ]   [ ]   ...   [ ] 
[ ] [ ] [ ] [ ] ... [ ]
[ ] [ ] [ ] [ ] ... [ ]
[ ] [ ] [ ] [ ] ... [ ]
.................................
[ ] [ ] [ ] [ ] ... [ ]

Представим, что здесь каждая пара квадратных скобок это один элемент массива.

Приведем пример создания и использования двумерного массива в PHP:



Двумерный массив



for($k=1;$k<=10;$k++)
for ($j=1;$j<=10;$j++)
$multable[$k][$j]=$j*$k;
for ($k=1;$k<=10;$k++) {
print "";
for ($j=1;$j<=10;$j++)
echo "";
print "";
}
?>
",$multable[$j][$k],"


В этом скрипте, используя теги HTML, выводится заголовок «Двумерный массив» и таблица 10x10. В скрипте использованы две пары циклов for (так называемые вложенные циклы). В первом двойном цикле элементам двумерного массива $multable присваиваются произведения переменных $j и $k.

Во втором двойном цикле на экран выводятся строки таблицы (tr), клетки таблицы (td) и значения элементов массива ($multable[$j][$k]).

Пример:





Двумерный массив. Примеры


$n = 6;

echo "\n";
for($i=0;$i<$n;$i++) {
echo "";
for($j=0;$j<$n;$j++)
echo "";
echo "";
}
echo "
i = $i; j = $j
";

echo "
";

echo "\n";
for($i=0;$i<$n;$i++) {
echo "";
for($j=0;$j<$n;$j++)
echo "";
echo "";
}
echo "
x[i = $i][j = $j]
";

echo "
";

echo "\n";
for($i=0;$i<$n;$i++) {
echo "";
for($j=0;$j<$n;$j++)
echo "";
echo "";
}
echo "
x[$i][$j]
";

echo "
";

echo "\n";
for($i=0;$i<$n;$i++) {
echo "";
for($j=0;$j<$n;$j++){
$x[$i][$j]= $i*10+$j;
echo "";
}
echo "";
}
echo "
",$x[$i][$j],"
";

echo "
";

echo "\n";
for($i=0;$i<$n;$i++) {
echo "";
for($j=0;$j<$n;$j++){
$x[$i][$j]= rand(1,9);
echo "";
}
echo "";
}
echo "
",$x[$i][$j],"
";
?>

Контрольные вопросы и задания

  1. В приведенном примере сделайте шрифт клеток первой строки таблицы красного цвета.
  2. В приведенном примере сделайте шрифт клеток первого столбца таблицы зеленого цвета.
  3. В приведенном примере сделайте шрифт клеток главной диагонали таблицы синего цвета.