unserialize работа с массивом данных

210
29 декабря 2017, 01:43

Есть string.
Использую unserialize() чтобы превратить в массив. Массив получился.
Проверяю var_dump, а дальше не знаю как вытащить данные чтобы с ними поработать.

$serialized = 'a:1:{s:4:"cart";a:3:{s:32:"812b4ba287f5ee0bc9d43bbf5bbe87fb";a:10:{s:3:"key";s:32:"812b4ba287f5ee0bc9d43bbf5bbe87fb";s:10:"product_id";i:95;s:12:"variation_id";i:0;s:9:"variation";a:0:{}s:8:"quantity";i:1;s:13:"line_tax_data";a:2:{s:8:"subtotal";a:0:{}s:5:"total";a:0:{}}s:13:"line_subtotal";d:2500;s:17:"line_subtotal_tax";i:0;s:10:"line_total";d:2500;s:8:"line_tax";i:0;}s:32:"26657d5ff9020d2abefe558796b99584";a:10:{s:3:"key";s:32:"26657d5ff9020d2abefe558796b99584";s:10:"product_id";i:96;s:12:"variation_id";i:0;s:9:"variation";a:0:{}s:8:"quantity";i:1;s:13:"line_tax_data";a:2:{s:8:"subtotal";a:0:{}s:5:"total";a:0:{}}s:13:"line_subtotal";d:2500;s:17:"line_subtotal_tax";i:0;s:10:"line_total";d:2500;s:8:"line_tax";i:0;}s:32:"72e0a0aebbe412653d190be7428a4dee";a:10:{s:3:"key";s:32:"72e0a0aebbe412653d190be7428a4dee";s:10:"product_id";i:19;s:12:"variation_id";i:142;s:9:"variation";a:1:{s:20:"attribute_pa_razmery";s:2:"48";}s:8:"quantity";i:2;s:13:"line_tax_data";a:2:{s:8:"subtotal";a:0:{}s:5:"total";a:0:{}}s:13:"line_subtotal";d:10000;s:17:"line_subtotal_tax";i:0;s:10:"line_total";d:10000;s:8:"line_tax";i:0;}}}';
$value= unserialize( $serialized );
var_dump($value);
Answer 1

"Поработать" со всеми данными этого массива можно через цикл, например так:

foreach ($value['cart'] as $product){
    echo $product['product_id'].'<br>';
}

Этот код выведет все product_id. Так можно проводить разные манипуляции с массивом. Если еще нужен будет ключ массива, то можно его добавить так:

foreach ($value['cart'] as $key=>$product)

Или если нужен например первый продукт, тогда так:

echo $value['cart'][key($value['cart'])]['product_id'];
Answer 2

У тебя массив массивов. Как работал до команды serialize, так и работай с переменной после.

READ ALSO
Не работает запрос с русскими буквами в mysql

Не работает запрос с русскими буквами в mysql

У меня есть Ajax запрос на страницеОчень простой

264
Yii2, организация переводов, теория

Yii2, организация переводов, теория

Теоретический вопрос по организации переводовВсе тексты переводов будут храниться в файлах, на весь проект их планируется около 2+ тыс

216
Виджет Masked Input (YII2) на мобильных устройствах

Виджет Masked Input (YII2) на мобильных устройствах

Почему не появляется маска на телефонах http://prntscrcom/hsv44z ? Подключено также как и на десктопе

252