本文介绍了如何让有1-N含量PHP中的multidmentional阵列的叶节点值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个这样的数组:
Array
(
[23] => 540,
[25] => Array
(
[656] => Array(671 ,680),
[345] => 400
)
)
我想要得到的值:
I want to get the values:
540 , 671 ,680 , 400
对于我的问题是,这个阵列的增长,不知道有多少层次深,
The problem for me is, that this array is growing and don't know how many levels deep,
推荐答案
您可以使用SPL公司的和的与 LEAVES_ONLY
标记。
You can use SPL's RecursiveArrayIterator
and RecursiveIteratorIterator
with its LEAVES_ONLY
flag.
自足例如:
<?php
$rai = new RecursiveArrayIterator(getData());
// $rii = new RecursiveIteratorIterator($rai, RecursiveIteratorIterator::LEAVES_ONLY) - but this is the default
$rii = new RecursiveIteratorIterator($rai);
foreach($rii as $n) {
echo $n, "\n";
}
// test data source
function getData() {
return array(
23 => 540,
25 => array(
656 => array(671,680),
345 => 400
)
);
}
打印
540
671
680
400
这篇关于如何让有1-N含量PHP中的multidmentional阵列的叶节点值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!