2016-08-07 3 views
0

웹 서비스를 사용하여 제품 세부 정보를 얻고 있습니다. 두 값을 비교하고, 두 값이 같으면 "FOUND"를 인쇄하려고합니다. 웬일인지 나는 아무것도 얻지 않는다.문자열을 값과 비교하여 찾습니다.

문제는 지난 IF 함께 : 332 (두 번째 행), 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

관련 문제