Php 这个foreach代码有什么问题吗? foreach($data['tests']as$testname=>$tests){ echo“提取$testname测试\n”; $function=$testfunctions[$testname]; 回声“”; foreach($tests作为$test){ echo“”$test['description']; $extracted=$extractor->$function($test['text']); 如果($test['expected']==$extracted){ 回声“已通过。”; }否则{ echo“失败”; echo“原件:.htmlspecialchars($test['text'])。”\n预期:“.print\r($test['expected'],true)。”\n实际:“.print\r($extracted,true)。”; } 回声“”; } 回声“”;}
我不断得到错误: 警告:为提供的参数无效 中的foreach() C:\xampp\htdocs\test\runtests.php 第49行Php 这个foreach代码有什么问题吗? foreach($data['tests']as$testname=>$tests){ echo“提取$testname测试\n”; $function=$testfunctions[$testname]; 回声“”; foreach($tests作为$test){ echo“”$test['description']; $extracted=$extractor->$function($test['text']); 如果($test['expected']==$extracted){ 回声“已通过。”; }否则{ echo“失败”; echo“原件:.htmlspecialchars($test['text'])。”\n预期:“.print\r($test['expected'],true)。”\n实际:“.print\r($extracted,true)。”; } 回声“”; } 回声“”;},php,programming-languages,Php,Programming Languages,我不断得到错误: 警告:为提供的参数无效 中的foreach() C:\xampp\htdocs\test\runtests.php 第49行 p、 代码的开头是第49行,因此问题从foreach语句开始。在$data[“tests”]中的一个元素可能不是数组 在foreach之前添加以下内容: if (is_array($tests)) foreach ($tests as $test) {... $data[“tests”]中的一个元素可能不是数组 在foreach之前添加以下内容: i
p、 代码的开头是第49行,因此问题从foreach语句开始。在
$data[“tests”]
中的一个元素可能不是数组
在foreach之前添加以下内容:
if (is_array($tests))
foreach ($tests as $test) {...
$data[“tests”]
中的一个元素可能不是数组
在foreach之前添加以下内容:
if (is_array($tests))
foreach ($tests as $test) {...
每当我看到这一点,它往往意味着我试图迭代的对象不是数组
检查
$data['tests']
(以及每个内部$tests
)以确保它不是null/unset/empty,并且它是类似于数组的可移植对象。还要记住,旧版本的PHP(5.0之前?)不能很好地处理可移植对象。每当我看到这一点时,它往往意味着我尝试迭代的对象不是数组
检查
$data['tests']
(以及每个内部$tests
)以确保它不是null/unset/empty,并且它是类似于数组的可移植对象。还要记住,旧版本的PHP(5.0之前?)不能很好地处理可移植对象。似乎$tests
或$data['tests']
不是数组。做一个print\r($data['tests'])
看看它是什么。它没有显示任何内容,但错误仍然存在:(,感谢$tests
或$data['tests']
不是数组。做一个print\r($data['tests'])
看看它是什么。它没有显示任何内容,但错误仍然存在:((,thanksi修复了错误,数组中没有数据,只是第40行有一点语法!!:))thanksi修复了错误,数组中没有数据,只是第40行有一点语法!!:))谢谢