2016-08-07 7 views
0

私は、製品の詳細を取得するためにWebサービスを使用しています。 2つの値を比較し、等しい場合は "FOUND"を出力します。 何らかの理由で私は何も得られません。値との比較で文字列を検索

問題は、最後のIFである:332(第2行)と6(:あなたが見ることができるように、2個の同数ある

paxProID:332 ?? pro:-1 
paxProID:332 ?? pro:332 
paxProID:332 ?? pro:6 
paxProID:6 ?? pro:-1 
paxProID:6 ?? pro:332 
paxProID:6 ?? pro:6 

if ($product['ProductId'] == $paxServices['ProductId']) 

この

が出力されます最後の行)

PHPコード:

foreach ($pnrPaxsXml AS $i => $pax) 
{ 
    if ($pax['ID'] == $_GET['paxID']) 
    { 
     foreach ($pax->Order AS $i => $paxServices) 
     { 
      foreach ($pnrProductsXml AS $i => $product) 
      { 
       echo "paxProID:".$paxServices['ProductId']."<>pro:".$product['ProductId']."<br />" ; 

       if ($product['ProductId'] == $paxServices['ProductId']) 
        echo "FOUND<br />"; 
      } 
     }    
    } 
} 

答えて

0

このようにコードを変更する

if (intval($product['ProductId']) === intval($paxServices['ProductId'])) 
       echo "FOUND<br />"; 
     } 
+0

これは、値が同じタイプであるかどうかを条件がチェックすることを意味します。私は "=="だけを使用しているので、値が同じかどうかをチェックしていて、それは条件が少ないことを意味します... – Roi

+0

あなたは両方をint型に変換しているので、比較できます – coder