如何解决为什么 php foreach 循环没有与多维 json 对象一起运行
我没有进入 PHP foreach 循环。
$cogsAmount = '[{"name":"cogItem","amount":2},{"name":"cogItem","amount":2}]';
$multipleCogsAccount = '{"cog1":"1","cog2":"2"}';
if ($cogsAmount && count($cogsAmount) > 0) {
foreach ($cogsAmount as $key => $cog) {
$cogName = $cog['name'];
if (!array_key_exists($cogName,$multipleCogsAccount)) {
echo "The key is not exist";
}
}
}
解决方法
因为它是一个字符串!这是一个不可迭代的对象
<?php
$cogsAmount = json_decode('[{"name":"cogItem","amount":2},{"name":"cogItem","amount":2}]',1);
$multipleCogsAccount = json_decode('{"cog1":"1","cog2":"2"}',1);
if ($cogsAmount && count($cogsAmount) > 0) {
foreach ($cogsAmount as $key => $cog) {
echo $cogName = $cog['name'];
//if (!array_key_exists($cogName,$multipleCogsAccount)) {
// echo "The key is not exist";
//}
}
}
,
这有效,如果你 json_decode() 那些字符串
$cogsAmount = json_decode('[{"name":"cogItem1",{"name":"cogItem2",true);
$multipleCogsAccount = json_decode('{"cog1":"1",true);
if ($cogsAmount && count($cogsAmount) > 0) {
foreach ($cogsAmount as $key => $cog) {
if (!array_key_exists($cog['name'],$multipleCogsAccount)) {
echo "The key $cog[name] does not exist\n";
}
}
}
结果
The key cogItem1 does not exist
The key cogItem2 does not exist
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。