2015-10-08 3 views
0

Я распечатал то, что должно было быть многомерным массивом в php, но вместо этого увидел это. Это было бросание ошибок, когда я пытался получить доступ к $array['order_item']['sku']. Как преобразовать это в правильный многомерный массив?Как исправить этот многомерный массив php

Array 
(
[order_item] => [{"name":"Product","sku":"14b6c7e2f838fd356","description":"Product Standard Download","price":"76.0000","qty":1,"tax":0}] 
[customer] => {"first_name":"Johny","last_name":"Smith","email":"[email protected]"} 
) 
+0

Петля по массиву и вызовите [json_decode] (http://www.php.net/json_decode) для каждого значения. –

+0

Ключ order_item также будет массивом массивов. Таким образом, первым sku будет '$ array ['order_item'] [0] ['sku']'. Похоже, что эта структура позволит нескольким «элементам заказа» для каждого «клиента», –

ответ

1

попробовать это один

$array = array(
    'order_item' => '[{"name":"Product","sku":"14b6c7e2f838fd356","description":"Product Standard Download","price":"76.0000","qty":1,"tax":0}]', 
    'customer' => '{"first_name":"Johny","last_name":"Smith","email":"[email protected]"}' 
); 

foreach ($array as $key => $value) { 
    $array[$key] = json_decode($array[$key], TRUE); 
} 
echo $array['order_item'][0]['sku']; 

это даст: 14b6c7e2f838fd356

0

Правильный способ для создания многомерных массивов в PHP выглядит следующим образом:

$ массива [ 'Order_Item'] [ 'имя'] = "продукт";

И так далее

Смежные вопросы