0

作ることは可能if($array1[0]=>somevalue == $array2[0]=>somevalue){echo true;}else{echo false;}ですか?うまくいかないので、助けてください。

例: $array1([0] => 'ジョー', [2] => 'ペア'); $array2([0] => 'info' => array([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);

ありがとうございました。

4

1 に答える 1

2

あなたがやろうとしていることは可能なはずです。"Joe"上記のコードが実際に実行しようとしているものである場合、最初の問題は、値を比較していて"joe"、それらが同じではないことです。

大文字と小文字を区別しない比較が必要な場合は、を使用しますif (strcasecmp($var1, $var2) == 0)(2 つの文字列が同じ場合、大文字と小文字を考慮せずにゼロを返します)。

于 2012-05-24T18:46:00.793 に答える