为此疯狂,请问我该怎么转这个阵列:
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] 相同关键,谢谢。
答案 0 :(得分: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
}
答案 1 :(得分:1)
如果您确定它将始终是您阵列中的一个元素,或者您只想选择第一个元素,那么您可以使用以下内容:
$data['par'] = 'XXX';
$data['price_item'] = 100;
$data['value'] = 130;
$data['qnt'] = ['130'=>99];
$data['qnt'] = (is_array($data['qnt']) && !empty($data['qnt'])) ? array_pop($data['qnt']) : $data['qnt'];
print_r($data);
将输出如下内容:
Array ( [par] => XXX [price_item] => 100 [value] => 130 [qnt] => 99 )