>我正在尝试像这样获取多维数组的所有值
$post = array(
'k'=>'kk',
'l'=>'ll',
'n'=>array(
't'=>'tt',
'n'=>array(
'j'=>'jj',
'h'=>'hh'
)
)
);
我的方法是:
$ordered = array();
foreach($post as $key=>$value){
if(!is_array($value)){
$ordered[] = $value;
}else{
$r = array_walk_recursive($value, function($v,$k) use(&$ordered){
$ordered[] =$v;
});
}
}
预期产出:
Array
(
[0] => kk
[1] => ll
[2] => tt
[3] => jj
[4] => hh
)
我不知道这是否是最好的解决方案,我正在考虑性能和与旧版PHP的向后兼容性
$ordered = array();
function myfunction($value, $key){
$ordered[] = $value;
}
array_walk_recursive($post ,"myfunction")
var_dump($ordered);
试试这个。它可能适合您的病情。
编辑
$ordered = array();
function myfunction($value, $key){
global $orderd;
$ordered[] = $value;
}
array_walk_recursive($post ,"myfunction")
var_dump($ordered);
这将正常工作