<?php
$i == array(1, 2);
$j == array(a, b);
$m == count($j);
$n == count($i);
for ( $i = 0; $i < $m; i++ )
{
for ( $j = 0; j < $n; j++)
{ echo $i."x"$j; }
}
?>
错误是引用第6行:for ( $i = 0; $i < $m; i++ )
答案 0 :(得分:8)
for ( $i = 0; $i < $m; $i++ )
请注意我在i++
您的其他for
声明也是如此:
for ( $j = 0; $j < $n; $j++ )
确实存在Wierd错误,但它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
< / LI>
$i
分配给数组,但随后在for循环中用$i = 0
覆盖它。你最有可能想要两个变量$
,就像我上面提到的那样$m
被用于$jArray
中的变量数量,但您用它来迭代$iArray
所以只需要点几个指针就可以了解PHP,并尝试确保代码适用于每一个小小的变化。进行1次修改,然后运行它。 PHP的语法很容易丢失,因为它是一种动态脚本语言
答案 1 :(得分:3)
你有一堆平等检查。我假设你实际上是在分配变量而不是检查是否相等。
将所有==相等检查更改为分配(=)
答案 2 :(得分:1)
你在第9行也有不正确的连接,我添加了一个注释,指出了另一个可能的错误。
$i == array(1, 2);
$j == array($a, $b); // <--Put in $ signs if these are variables in the array
$m == count($j);
$n == count($i);
for ( $i = 0; $i < $m; $i++ )
{
for ( $j = 0; $j < $n; $j++)
{ echo $i."x".$j; }
}