为什么此代码会导致预期的")"错误?

千里ち*_*ちゃん 1 php iteration error-handling syntax-error

<?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; }
  }
?>
Run Code Online (Sandbox Code Playgroud)

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

Bob*_*mer 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]; 
    }
  }
?>
Run Code Online (Sandbox Code Playgroud)

我改变的事情:

  • ==用于比较,=用于分配
  • 第二个数组我假设你想要的字符串文字'a''b',但你可能也想$a$b你声明的变量在别处
  • 你分配$i给一个数组,但然后在你的for循环中你用它覆盖它$i = 0.你最有可能想要两个变量
  • 缺少$s,就像我上面提到的那样
  • $m正在被用于变量的数量$jArray,但是你用它来迭代$iArray

所以只需几点,就可以了解PHP并尝试确保代码适用于每一个小小的变化.进行1次修改,然后运行它.PHP的语法很容易迷失,因为它是一种动态的脚本语言

  • 我几乎不称它为'怪异',如果一个常数(如果没有通知,那么我将是一个有效的陈述),`i ++`不会,所以它说"而不是'++`我期望`` `". (2认同)