Php 为什么此代码会导致预期的“错误”)&引用;错误?

Php 为什么此代码会导致预期的“错误”)&引用;错误?,php,error-handling,iteration,syntax-error,Php,Error Handling,Iteration,Syntax Error,错误引用了第6行:for($i=0;$i

错误引用了第6行:
for($i=0;$i<$m;i++)
for($i=0;$i<$m;$i++)

注意我在
I++

您的另一个
for
语句也是如此:

for($j=0;$j<$n;$j++)

Wierd错误确实存在,但它不是一个变量(尽管PHP可能会标记一个
E_NOTICE
,并将其转换为
'i'
。您想引用您的变量,所以必须先添加一个
$


您最想要的可能是:

<?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; }
  }
?>

我改变的事情:

  • =
    用于比较,
    =
    用于赋值
  • 第二个数组我假设您需要字符串文本
    'a'
    'b'
    ,但是如果您在其他地方声明这些变量,您也可能需要
    $a
    $b
  • $i
    分配给数组,然后在for循环中用
    $i=0
    覆盖它。很可能需要两个变量
  • 缺少
    $
    s,就像我上面提到的
  • $m
    用于
    $jArray
    中的变量数,但您使用它来迭代
    $iArray

因此,只需几点提示,就可以了解一下您的代码,并尝试确保您的代码在每一个微小的更改中都能正常工作。进行1次修改,然后运行它。PHP的语法非常容易迷失,因为它是($i=0;$i<$m;$i++)的动态脚本语言

注意我在
I++

您的另一个
for
语句也是如此:

for($j=0;$j<$n;$j++)

Wierd错误确实存在,但它不是一个变量(尽管PHP可能会标记一个
E_NOTICE
,并将其转换为
'i'
。您想引用您的变量,所以必须先添加一个
$


您最想要的可能是:

<?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; }
  }
?>

我改变的事情:

  • =
    用于比较,
    =
    用于赋值
  • 第二个数组我假设您需要字符串文本
    'a'
    'b'
    ,但是如果您在其他地方声明这些变量,您也可能需要
    $a
    $b
  • $i
    分配给数组,然后在for循环中用
    $i=0
    覆盖它。很可能需要两个变量
  • 缺少
    $
    s,就像我上面提到的
  • $m
    用于
    $jArray
    中的变量数,但您使用它来迭代
    $iArray


因此,只需几点提示,仔细了解一下您的代码,并尝试确保您的代码在每一个微小的更改中都能正常工作。进行1次修改,然后运行它。PHP的语法非常容易迷失,因为它是一种动态脚本语言。您在那里有一大堆等式检查。我假设您实际上是在分配变量,而不是ch乞求平等


将all==相等性检查更改为赋值(=)

这里有一系列相等性检查。我假设您实际上是在赋值变量,而不是检查相等性


将all==相等性检查更改为赋值(=)

第9行的连接也不正确,我添加了一条注释,指出了另一个可能的错误

<?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]; 
    }
  }
?>
$i==数组(1,2);

$j==array($a,$b);//第9行的连接也不正确,我添加了一条注释,指出了另一个可能的错误

<?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]; 
    }
  }
?>
$i==数组(1,2);

$j==array($a,$b);//我几乎不会称之为‘怪异’,
I
将是一个有效的语句,如果一个常量(如果不是的话则是一个通知),
I++
不会,所以它说“我希望
++
而不是
+)
”.这里的一些人也告诉我。我一直看着它,实际上看到了美元符号。这不是很奇怪吗?我看得越多,它就越像是美元符号。然后突然,它击中了我。没有任何美元符号!总之,感谢你,我注意到的问题是:使用太少的变量,而不是变量前的$,不正确地使用了相等运算符,并且没有在字符串文本周围加引号。T_INC错误是由于缺少$而引发的。谢谢。我几乎不会称它为“奇怪的”,
I
将是一个有效的语句,如果一个常量(如果不是的话,则是一个通知),
I++
不会这样说“而不是
++
我期望
“这里也有人告诉我。我一直看着它,实际上看到了$sign。这不是很奇怪吗?我越看它,它就越像是一个美元符号。然后突然,它击中了我。没有任何美元标志!不管怎样,多亏了你,我注意到的问题是:使用的变量太少,没有在变量前面加$,不正确地使用了相等运算符,并且没有在字符串文本周围加引号。由于缺少$而引发T_INC错误。谢谢。哦,你是说失踪的人。?我在最后一刻才学会的。多酷啊,你先注意到的。:)哦,你是说失踪的人。?我在最后一刻才学会的。多酷啊,你先注意到的。:)
{echo$i.x“$j;}
此处语法错误-在
“x”
$j
{echo$i.x“$j;}
此处语法错误-在
“x”
$j
之间没有运算符。