Извлечение значения из массива php

Извлечение значения из массива php

20.11.2019 07:33:29 Просмотров 64 Источник

У меня есть следующий массив данных, и я пытаюсь получить доступ к полю номера отслеживания.

Примерно:

$массив->meta_data->TrackingNumber

После 3 часов я не могу найти способ получить к нему доступ.

Любая помощь очень ценится.


    массив (
      'идентификатор' => 448,
      'parent_id' => 0,
      'статус' => 'завершено',
      'валюта' => 'фунтов',
      'версия' => '3.7.1',
      'prices_include_tax' => правда,
      'meta_data' => 
      массив (
        0 => 
        массив (
          'идентификатор' => 8041,
          'ключ' => 'is_vat_exempt',
          'значение' => 'нет',
        ),
        1 => 
        массив (
          'идентификатор' => 8043,
          'ключ' => '_wpam_id',
          'значение' => '4',
        ),
        2 => 
        массив (
          'идентификатор' => 8046,
          'ключ' => '_woo_pp_txnData',
          'значение' => 
          массив (
            'refundable_txns' => 
            массив (
              0 => 
              массив (
                'txnID' = > '1U998392V9620752U',
                'сумма' = > '5.95',
                'refunded_amount' = > 0,
                'статус' => 'завершено',
              ),
            ),
            'txn_type' = > 'продажа',
          ),
        ),
        3 => 
        массив (
          'идентификатор' => 8056,
          'key' = > 'адрес плательщика PayPal',
          'значение' => 'anthony@befive.co.uk',
        ),
        4 => 
        массив (
          'идентификатор' => 8057,
          'key' = > 'имя плательщика',
          'значение' => 'Энтони',
        ),
        5 => 
        массив (
          'идентификатор' => 8058,
          'key' = > 'фамилия плательщика',
          'значение' => 'Эванс',
        ),
        6 => 
        массив (
          'идентификатор' => 8059,
          'ключ' => 'тип платежа',
          'значение' => 'мгновенный',
        ),
        7 => 
        массив (
          'идентификатор' => 8060,
          'ключ' => '_paypal_status',
          'значение' => 'завершено',
        ),
        8 => 
        массив (
          'идентификатор' => 8061,
          'ключ' => '_paypal_transaction_fee',
          'значение' => '0.47',
        ),
        9 => 
        массив (
          'идентификатор' => 8290,
          'key' = > 'TrackingNumber',
          'значение' => '10046182',
        ),
        10 => 
        массив (
          'идентификатор' => 8291,
          'key' = > 'CarrierName',
          'value' = > 'СИБУРН',
        ),
        11 => 
        массив (
          'идентификатор' => 10349,
          'ключ' => '_alg_wc_custom_order_number',
          'значение' => '6',
        ),
      ),
      'line_items' => 
      массив (
        48 => 
        массив (
        ),
      ),
      'tax_lines' => 
      массив (
        50 => 
        массив (
        ),
      ),
      'shipping_lines' => 
      массив (
        49 => 
        массив (
        ),
      ),
      'fee_lines' => 
      массив (
      ),
      'coupon_lines' => 
      массив (
        51 => 
        массив (
        ),
      ),
    )

У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/58959196/extract-value-from-array-php#comment104173714_58959196
Можете ли вы показать нам, что вы пытались до сих пор ?

Ответы - Извлечение значения из массива php / Extract value from array php

Является ответом!
Thomas Gregory

20.11.2019 07:41:14

Вы пытаетесь получить доступ к массиву с помощью $array - >value, но правильный синтаксис будет $array ['value']

Я бы перебрал метаданные и проверил каждый ключ, чтобы увидеть, равен ли он "номеру отслеживания", а затем Эхо-выход или делать все, что вы хотите с результатом!

<?php

$test =array (
  'id' => 448,
  'parent_id' => 0,
  'status' => 'completed',
  'currency' => 'GBP',
  'version' => '3.7.1',
  'prices_include_tax' => true,
  'meta_data' => 
  array (
    0 => 
    array (
      'id' => 8041,
      'key' => 'is_vat_exempt',
      'value' => 'no',
    ),
    1 => 
    array (
      'id' => 8043,
      'key' => '_wpam_id',
      'value' => '4',
    ),
    2 => 
    array (
      'id' => 8046,
      'key' => '_woo_pp_txnData',
      'value' => 
      array (
        'refundable_txns' => 
        array (
          0 => 
          array (
            'txnID' => '1U998392V9620752U',
            'amount' => '5.95',
            'refunded_amount' => 0,
            'status' => 'Completed',
          ),
        ),
        'txn_type' => 'sale',
      ),
    ),
    3 => 
    array (
      'id' => 8056,
      'key' => 'Payer PayPal address',
      'value' => 'anthony@befive.co.uk',
    ),
    4 => 
    array (
      'id' => 8057,
      'key' => 'Payer first name',
      'value' => 'Anthony',
    ),
    5 => 
    array (
      'id' => 8058,
      'key' => 'Payer last name',
      'value' => 'Evans',
    ),
    6 => 
    array (
      'id' => 8059,
      'key' => 'Payment type',
      'value' => 'instant',
    ),
    7 => 
    array (
      'id' => 8060,
      'key' => '_paypal_status',
      'value' => 'completed',
    ),
    8 => 
    array (
      'id' => 8061,
      'key' => '_paypal_transaction_fee',
      'value' => '0.47',
    ),
    9 => 
    array (
      'id' => 8290,
      'key' => 'TrackingNumber',
      'value' => '10046182',
    ),
    10 => 
    array (
      'id' => 8291,
      'key' => 'CarrierName',
      'value' => 'SEABOURNE',
    ),
    11 => 
    array (
      'id' => 10349,
      'key' => '_alg_wc_custom_order_number',
      'value' => '6',
    ),
  ),
  'line_items' => 
  array (
    48 => 
    array (
    ),
  ),
  'tax_lines' => 
  array (
    50 => 
    array (
    ),
  ),
  'shipping_lines' => 
  array (
    49 => 
    array (
    ),
  ),
  'fee_lines' => 
  array (
  ),
  'coupon_lines' => 
  array (
    51 => 
    array (
    ),
  ),
);


foreach($test['meta_data'] as $data){
        if($data['key'] === "TrackingNumber"){
                echo "The tracking number is: " . $data['value'];
        }
}
https://stackoverflow.com/questions/58959196/extract-value-from-array-php/58959336#comment104175720_58959336
Большое спасибо. Это действительно помогло, и теперь у меня это работает.
Помочь в развитии проекта:
Закрыть X