0

我对 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.

显然 if 语句有问题。我到处寻找我能找到的地方,但我无法找出比较这些变量的正确方法。任何人都可以帮忙吗?

4

1 回答 1

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

}
于 2012-10-16T17:11:22.203 回答