for ( $i = 0; $i < $m; $i++ )
Обратите внимание на знак доллара, который я добавил перед i++
То же самое относится и к вашему другому выражению for
:
for ( $j = 0; $j < $n; $j++ )
Действительно странная ошибка, но она i
не является переменной (хотя PHP может пометить E_NOTICE
и преобразовать его в 'i'
. Вы хотите сослаться на свою переменную, поэтому вы должны добавить $
до того, как.
Скорее всего, вы хотите:
<?php
$iArray = array(1, 2);
$jArray = array('a', 'b');
$n = count($iArray);
$m = count($jArray);
for ( $i = 0; $i < $n; $i++) {
for ( $j = 0; $j < $m; $j++) {
echo $iArray[$i] . "x" . $jArray[$j];
}
}
?>
Вещи, которые я изменил:
==
используется для сравнения, =
используется для присваивания - Второй массив, который, как я предполагал, вам нужны строковые литералы
'a'
и 'b'
, но вы могли бы также захотеть $a
и $b
, если бы вы объявили эти переменные где-то еще - вы присваиваете
$i
массиву, но затем в цикле for вы перезаписываете его $i = 0
. Скорее всего, вы хотите, чтобы две переменные - отсутствовали
$
с, как я упоминал выше $m
использовалось для количества переменных в $jArray
, но вы использовали его для итерации по $iArray
Итак, всего несколько указателей, освежите в памяти PHP и постарайтесь убедиться, что ваш код работает с каждым небольшим изменением.Сделайте 1 модификацию, затем запустите ее.Очень легко потеряться в синтаксисе для PHP, поскольку это такой динамический язык сценариев