奇怪的PHP行为

时间:2011-05-23 18:27:40

标签: php

<?php
$dog[] = "12";
$dog[] = "3";

for ($i = 0; $i < 2; $i++) {
  $dig = $dog[i];
  echo $dig;
}
?>

$dig始终为空。为什么呢?

5 个答案:

答案 0 :(得分:6)

i不是变量,请使用$i

如果你有error_reporting(E_ALL),就像你在开发中那样,你会立即捕获它(未定义常量)。

答案 1 :(得分:3)

$dig = $dog[i];

应该是:

$dig = $dog[$i];

答案 2 :(得分:2)

易。你想要$dog[$i]。 PHP引擎查找一个常量名i,找不到一个,所以转向寻找字符串。没有值为'i'的键,因此返回NULL。

答案 3 :(得分:2)

你错过了这行中的$

 $dig = $dog[i];

应该是

 $dig = $dog[$i];

您也可以通过这种方式编写来简化此代码

<?php
    $dogs[] = "12";
    $dogs[] = "3";

    foreach($dogs as $dog) {
      echo $dog;
    }
?>

答案 4 :(得分:1)

你想要

$dig = $dog[$i];

你错过了$