比较foreach中不同数组的两个变量

时间:2012-10-16 16:43:29

标签: php variables foreach

我是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语句显然有问题。我找到了我能找到的所有地方,而且我在找出比较这些变量的正确方法时遇到了麻烦。有人可以帮忙吗?

1 个答案:

答案 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'];      

}