本文介绍了PHP多维数组简单数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
I have this array:
Array
(
[one] => one_value
[two] => Array
(
[four] => four_value
[five] => five_value
)
[three] => Array
(
[six] => Array
(
[seven] => seven_value
)
)
)
And I want to convert it to this type of array:
Array
(
[one] => one_value
[two-four] => four_value
[two-five] => five_value
[three-six-seven] => seven_value
)
How can I achieve this? With some kind of "recursiveness"? But how? :\Thanks in advance!
解决方案
<?php
$array = array(
'one' => 'one_value',
'two' => array
(
'four' => 'four_value',
'five' => 'five_value'
),
'three' => array
(
'six' => array
(
'seven' => 'seven_value'
)
)
);
function flatten($array, $prefix = '') {
$arr = array();
foreach($array as $k => $v) {
if(is_array($v)) {
$arr = array_merge($arr, flatten($v, $prefix . $k . '-'));
}
else{
$arr[$prefix . $k] = $v;
}
}
return $arr;
}
var_dump(flatten($array));
//output:
//array(4) {
// ["one"]=>
// string(9) "one_value"
// ["two-four"]=>
// string(10) "four_value"
// ["two-five"]=>
// string(10) "five_value"
// ["three-six-seven"]=>
// string(11) "seven_value"
//}
这篇关于PHP多维数组简单数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!