我是PHP编程的新手,我很沮丧,因为我觉得这应该有效,但事实并非如此。我真的错过了什么......
<?php
foreach ($datas as $name)
{
if ($name['state'] === 'MA')
{
echo
'<input type="hidden" name="id" value="' . $name['id'] . '" />' .
'<h2>' . htmlentities($name['name']) . '</h2>' .
'<p>' .
htmlentities($name['description']) . ' ' .
...
'<h1>' . $name['id'] . '</h1>';
foreach ($commentdatas as $name2)
{
if ($name['id'] == $name2['parkid'])
{
echo $name['id'] . $name2['parkid'];
}
}
}
}
?>
</div>
一切顺利,直到我得到第二个foreach声明。 foreach works
。$name['id']
。当我测试时,$name2['parkid']
正确回声,But inside the if statement, nothing echos at all.
也是如此。
即使在循环中,系统也无法正确识别这些问题。 {{1}}
if语句显然有问题。我找到了我能找到的所有地方,而且我在找出比较这些变量的正确方法时遇到了麻烦。有人可以帮忙吗?
答案 0 :(得分:1)
尝试in_array()功能
foreach ($commentdatas as $name2) {
if ($name['id'] == $name2['parkid'])
{
echo $name['id'] . $name2['parkid'];
}
}
}
替换为
if(in_array($name['id'],$commentdatas)){
echo $name['id'] . $name2['parkid'];
}