php array_walk多维数组
发布时间:2020-12-13 17:09:43 所属栏目:PHP教程 来源:网络整理
导读:我有三个带有某种分层预定义术语的数组 array("fruits","yellow","pineapple");array("fruits","lemon");array("fruits","red","apple"); 我有一个关联数组,它有一种层次结构: array('fruits'=array('red'=array('tomato'))); 如何在我得到的正确位置推送我
我有三个带有某种分层预定义术语的数组
array("fruits","yellow","pineapple"); array("fruits","lemon"); array("fruits","red","apple"); 我有一个关联数组,它有一种层次结构: array('fruits'=>array('red'=>array('tomato'))); 如何在我得到的正确位置推送我的三个阵列的条款: array('fruits'=>array('yellow'=>array('pineapple','lemon'),'red'=>array('tomato','apple'))); 我使用array_walk吗?还是array_walk_recursive? 最好的,Joerg 解决方法
您将每个水果转换为嵌套数组,然后使用
array_merge_recursive()进行合并.
这是一个工作示例(also on Codepad): $fruits = array( array("fruits","pineapple"),array("fruits","lemon"),"apple"),"tomato"),); // Convert array to nested array function nest($leaf) { if (count($leaf) > 1) { $key = array_shift($leaf); return array($key => nest($leaf)); } else { return $leaf; } } $tree = array(); foreach($fruits as $fruit) { // Convert each fruit to a nested array and merge recursively $tree = array_merge_recursive($tree,nest($fruit)); } print_r($tree); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |