为带有已确认数组的foreach()提供无效参数

问题描述 投票:0回答:1

运行以下命令时,我不断收到来自PHP的警告:

foreach( $tags as $tag ){
   echo $tag;
}

我已经确认$ tags是同时具有var_dump()is_array()的数组,但是我仍然收到警告。

代码按预期工作,但警告已填满Apache错误日志。

$ tags var_dump:

array(2) { [0] => string(3) "Red" [1] => string(4) "Blue" }

来自error.log的警告

[proxy_fcgi:error] AH01071: Got error 'PHP message: PHP Warning: Invalid argument supplied for foreach() in /path/to/file.php on line 153
php foreach warnings
1个回答
0
投票

在PHP7的PHP交互式shell中为我工作。

$ php -a
Interactive shell

php > $tags = array("red", "Blue" );
php > var_dump($tags);
array(2) {
[0]=>
string(3) "red"
[1]=>
string(4) "Blue"
}

php > foreach( $tags as $tag ){ echo $tag;};
redBlue

一些调试代码的初步建议:

  • 请确保该行确实是您认为有问题的行和文件。有时服务器正在运行位于不同文件夹中的另一个文件,在该文件夹中,相同的行号确实存在(旧)问题,并且您正在查看固定的新文件。
  • 仅使用此代码段创建文件,然后在同一台计算机上运行。
  • 在本地计算机上运行代码
© www.soinside.com 2019 - 2024. All rights reserved.