2012-05-24 6 views
0

if($array1[0]=>somevalue == $array2[0]=>somevalue){echo true;}else{echo false;}을 만들 수 있습니까? 작동하지 않기 때문에 제발 도와주세요,배열 배열이 같은 경우 PHP

예 : $ array1 ([0] => 'Joe', [2] => 'Pairs'); $ array2 ([0] => 'info'=> 배열 ([0] => 'joe')));

foreach($array2->info as $info){ 
    foreach($array1 as $name){ 
     if($name == $info[0]){ 
      echo 'true'; 
      } 
      else{ 
      echo 'false'; 
      } 
     } 
    } 

그리고 이것은 실제 코드,

배열 :

Array 
(
[0] => SimpleXMLElement Object 
    (
     [companyLocationInfo] => Array 
      (
       [0] => SimpleXMLElement Object 
        (
         [companyName] => AVIS 
         [name] => NYCC07 
         [line1] => 420 EAST 90TH STREET 
        ) 
       [2] => SimpleXMLElement Object 
        (
         [companyName] => AVIS 
         [name] => NYCC06 
         [line1] => 310 EAST 64TH STREET 
        ) 
       [3] => SimpleXMLElement Object 
        (
         [companyName] => AVIS 
         [name] => NYCC01 
         [line1] => 68 EAST 11TH STREET 
        ) 

      ) 

     [rates] => Array 
      (
       [0] => SimpleXMLElement Object 
        (
         [pickupDropoffLocations] => Array 
          (
           [0] => SimpleXMLElement Object 
            (
             [companyName] => AVIS 
             [name] => NYCC07 
            ) 
          ) 
         [vehicleRentalPrefType] => CCAR 
         [rateAmount] => 83.99 
         [rateCurrency] => USD 
        ) 
       [2] => SimpleXMLElement Object 
        (
         [pickupDropoffLocations] => Array 
          (
           [0] => SimpleXMLElement Object 
            (
             [companyName] => AVIS 
             [name] => NYCC06 
            ) 
          ) 
         [vehicleRentalPrefType] => CCAR 
         [rateAmount] => 110.54 
         [rateCurrency] => USD 
        ) 
       [3] => SimpleXMLElement Object 
        (
         [pickupDropoffLocations] => Array 
          (
           [0] => SimpleXMLElement Object 
            (
             [companyName] => AVIS 
             [name] => NYCC01 
            ) 
          ) 
         [vehicleRentalPrefType] => CCAR 
         [rateAmount] => 210.65 
         [rateCurrency] => USD 
        ) 

      ) 

    ) 

)

이 코드입니다 :

$results_array = array(); 

foreach($result[0]->rates as $rate) { 
    foreach($result[0]->companyLocationInfo as $info) { 
     if($info->name == $rate->pickupDropoffLocations[0]->name) { 
      $results_array[] = array(
       'line1' => $info->line1, 
       'name' => $info->locationDetails->name, 
       'companyName' => $info->companyName, 
       'vehicleRentalPrefType' => $rate->vehicleRentalPrefType 
      ); 
     } 
    } 
} 
print_r($results_array); 

감사합니다.

+0

이 질문은 XML 또는 SOAP과 관련이 있습니다. – Flukey

+0

내 코드가 SimpleXML – thegrede

답변

2

당신이하려는 일이 가능해야합니다. 위의 코드가 실제로 실행하려고하는 것이라면 첫 번째 문제는 값 "Joe""joe"을 비교하고 있으며 그 값이 같지 않다는 것입니다.

대소 문자를 구별하지 않으려면 if (strcasecmp($var1, $var2) == 0)을 사용하십시오 (대소 문자는 고려하지 않고 두 문자열이 같으면 0을 반환 함).

+0

Yups이므로이 코드는 완벽하게 작동합니다. 감사합니다. – thegrede

관련 문제