2016-03-03 66 views
-2

我有两个数组是否值等于多multidimenional阵列

array_1是多方面的,但我需要的值的位置是

array_1['id'] 

array_2也是多方面的,地点是进一步在内部进行。

array_2['data']['id'] 

现在我试图执行我的代码只有当(===)这两个ID是相同的。

更多信息是,这是2个API的组合,但是API的代码工作正常,因为如果我试图从两个API中获取信息,它会显示我。

代码:

$orders = $apiSeo->orders->get(); 
$parcels = $apiSend->parcels->get(); 

foreach($orders as $id => $order){ 
    if(($orders[$id]['paymentStatus'] == 'paid') || ($orders[$id]['paymentIsPost'] == true)){ 
     echo '<pre>'; 
     var_export($orders[$id]['id']); 
     var_export($orders[$id]['lastname']); 
     var_export($orders[$id]['paymentStatus']); 
     var_export($orders[$id]['paymentIsPost']); 
     echo '</pre>'; 
    } 
} 

你有什么我尝试添加:

foreach($parcels as $id2 => $parcel){ 
    if($orders[$id]['id'] === $parcels[$id2]['data']['order_id']){//} 
} 

,也没有与array_key_exists或in_array更迭。

添加这些代码段时,我的输出与var_export或var_dump没有任何关系。也没有错误,而我有错误报告。所以我无能为力,在错误或错误代码的地方。

print_r的请求$包裹阵列

Array 
(
    [0] => Array 
     (
      [id] => 1440143 
      [address] => xx 
      [address_divided] => Array 
      (
       [street] => xx 
       [house_number] => 8 
      ) 

     [city] => xx 
     [company_name] => 
     [country] => Array 
      (
       [iso_2] => NL 
       [iso_3] => NLD 
       [name] => Netherlands 
      ) 

     [data] => Array 
      (
       **[seoshop_order_id] => 15802836** HERE! 
      ) 

     [date_created] => 03-03-2016 07:41:39 
     [email] => [email protected] 
     [name] => xx 
     [postal_code] => xx 
     [reference] => 0 
     [shipment] => Array 
      (
       [id] => 10 
       [name] => DHL Complete with signature 
      ) 

     [status] => Array 
      (
       [id] => 1000 
       [message] => Ready to send 
       [history] => 
      ) 

     [telephone] => xx 
     [tracking_number] => JVGL0 
     [label] => Array 
      (
       [normal_printer] => Array 
        (
         [0] => https://panel.sendcloud.nl/api/v2/labels/normal_printer/1440143?start_from=0 
         [1] => https://panel.sendcloud.nl/api/v2/labels/normal_printer/1440143?start_from=1 
         [2] => https://panel.sendcloud.nl/api/v2/labels/normal_printer/1440143?start_from=2 
         [3] => https://panel.sendcloud.nl/api/v2/labels/normal_printer/1440143?start_from=3 
        ) 

       [label_printer] => h1 
      ) 

     [order_number] => ORD03 
     [carrier] => Array 
      (
       [code] => dhl 
      ) 

     [tracking_url] => xx 
    ) 

print_r的请求$订单阵列往大了复制,并把所有的数组,也没有必要,因为不需要其他信息。

Array 
(
    [0] => Array 
     (
      **[id] => 15817386** HERE! 
+0

你可以发布有问题的两个阵列的print_r吗 –

+0

@ChetanAmeta增加了先生!希望你对我有任何见解。 – izk

+0

你想从parcel数组中比较'seoshop_order_id'吗? –

回答

0

我得到它的工作,谢谢任何试图了解我和/或帮助的人。

for($x = 0 ; $x < 50 ; $x++){ 
        if(($orders[$x]['paymentStatus'] == 'paid') ||   ($orders[$x]['paymentIsPost'] == true)){ 
         if($orders[$x]['id'] == $parcels[$x]['data']['seoshop_order_id']){ 

           echo '<pre>'; 
           var_export($orders[$x]['id']); 
           var_export($orders[$x]['lastname']); 
           var_export($orders[$x]['paymentStatus']); 
           var_export($orders[$x]['paymentIsPost']); 
           var_export($parcels[$x]['name']); 
           var_export($parcels[$x]['data']['seoshop_order_id']); 
           echo '</pre>'; 
         } 
        } 
       }