我有我想要做以下凌乱树多维数组:PHP,将多维数组中的所有数组递归提取为一个扁平“持有者”数组?
提取每个阵列,不管多远嵌套下来把它变成一个单一的“持有人阵”,所以这(只是一个基本的例子因为这将是很多比这更复杂的尽可能的嵌套)
$this = array[0]=> (array[1]=>('a','b'),
array[2]=>(array[3]=>('c','d')));
会变成这样的事情,如果它改变了指数为每个阵列,只是让他们仍然在一个没关系阵列,但“扁平”,因此唯一的套料位于一个主保持器阵列内
$would_become = array[holder]=>(array[1]=>('a','b'),
array[2]=>(),
array[3]=>('c','d'));
这背后的总体推理是,我有一堆嵌套的数组有一个共同的关键,如['filepath'],我想能够做到像下面这样的东西(将需要通过每个数组显然在holder数组中,但是这显示了为什么我需要这个的基本思想。
foreach ($holder_array as $holder_array) {
// as an example:
echo $holder_array['Path']
}
你能给出一个更真实的例子,看起来你的扁平化想法*可能不是最好的方法,等待进一步的细节。 – salathe 2010-08-10 11:26:59
由于递归,在PHP中压扁数组是一项棘手的业务。 – Artefacto 2010-08-10 12:39:50
它为获取递归文件路径,我使用了一个脚本来为我做这个,但它仍然保持在一个凌乱的数组,而不是重写整个其他脚本,这是相当长的这个解决方案相比,我认为这会更容易,但对我来说这并不容易=),我很感谢大家对这个 – Rick 2010-08-10 18:24:10