2016-03-03 2 views
-2

У меня есть два массивали значение, равное с несколькими multidimenional массивов

array_1 многомерен но расположение значения мне нужно это

array_1['id'] 

array_2 также многомерный и расположение далее вниз внутри.

array_2['data']['id'] 

Теперь я пытаюсь выполнить свой код только в том случае, если (===) эти 2 ID идентичны.

Дополнительная информация о том, что это комбинация из 2 API, но код для API'S работает нормально, потому что, если я пытаюсь получить информацию из обоих 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

вы хотите сравнить '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>'; 
         } 
        } 
       } 
Смежные вопросы