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>

2番目の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 に答える