我有这样的数组:
$arr=array(
'key1'=>'value1',
'key2'=>'value2',
0=>array(
'sub1_key1'=>'sub1_value1',
'sub1_key2'=>'sub1_value2',
),
'key3'=>array(
'sub2_key1'=>'sub2_value1',
'sub2_key2'=>'sub2_value2',
),
//....
);
如何将数组 $arr 转换为数组,如下所示:
$arr=array(
'key1'=>'value1',
'key2'=>'value2',
'sub1_key1'=>'sub1_value1',
'sub1_key2'=>'sub1_value2',
'sub2_key1'=>'sub2_value1',
'sub2_key2'=>'sub2_value2',
//....
);
有人可以帮助我吗?
最佳答案
试试这个。希望这对您有用。
这不是微不足道的,因为您要减少 multi.dim。 array to single one 并且忽略第一个数组的键。
我已经测试了以下代码,它产生了您所显示的结果。
function ChangeArrayToSingleArray($array) {
if (!$array) return false;
$flat = array();
$iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($array));
foreach ($iterator as $key=>$value)
$flat[$key] = $value;
return $flat;
}
var_dump(ChangeArrayToSingleArray($arr));
输出是这样的。
array (size=6)
'key1' => string 'value1' (length=6)
'key2' => string 'value2' (length=6)
'sub1_key1' => string 'sub1_value1' (length=11)
'sub1_key2' => string 'sub1_value2' (length=11)
'sub2_key1' => string 'sub2_value1' (length=11)
'sub2_key2' => string 'sub2_value2' (length=11)
关于php - 将数组转换为数组php中的键和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22281988/