#php #arrays
#php #массивы
Вопрос:
Сходя с ума от этого, пожалуйста, как я могу превратить этот массив:
Array
(
[par] => XXX
[price_item] => 100
[value] => 130
[qnt] => Array
(
[130] => 99
)
)
в это:
Array
(
[par] => XXX
[price_item] => 100
[value] => 130
[qnt] => 99
)
В цикле foreach?
Примечания: Я не могу указать ключ [130], так как это может быть другое число, но структура уровней массива всегда одинакова, как и ключ [qnt], спасибо.
Комментарии:
1. Ищите
array_flatten
. codegists.com/snippet/php/array_flattenphp_rollinsb1010_php
Ответ №1:
Вам просто нужно перезаписать свой массив, получив первый элемент из данного массива:
//$yourArray
if(is_array($yourArray['qnt'])){//check if array, better safe
$values = array_values($yourArray['qnt']); //get values as array
$yourArray['qnt'] = $values[0];//get first and rewrite yout initial array
}
Ответ №2:
Если вы уверены, что это всегда будет один элемент в вашем массиве, или вы просто хотите выбрать первый, вы можете использовать что-то вроде следующего:
$data['par'] = 'XXX';
$data['price_item'] = 100;
$data['value'] = 130;
$data['qnt'] = ['130'=>99];
$data['qnt'] = (is_array($data['qnt']) amp;amp; !empty($data['qnt'])) ? array_pop($data['qnt']) : $data['qnt'];
print_r($data);
Который будет выводиться во что-то вроде:
Array ( [par] => XXX [price_item] => 100 [value] => 130 [qnt] => 99 )