我想在php
中创建一个函数来处理给定的数组(任何维度)并返回该数组的所有值。到目前为止,这是我的代码:
<?php function resolve_array($args){ //To resolve 2 dimensional array foreach($args as $i => $i_val ){ if(is_array($i_val)){ foreach($i_val as $z=>$z_val ){ echo $z_val; } }else { echo $i_val; } }} ?>
这个函数解析了二维数组,我想循环它来解析整个数组 我使用这个函数来获取数组的维度。
<?php function countdim($array){ //To get the dimension of array if (is_array(reset($array))) { $return = countdim(reset($array)) + 1; } else { $return = 1; } return $return; } ?>
我发现自己迷失在试图展示所有价值,任何想法如何继续前进?谢谢!
答案 0 :(得分:1)
我不确定你为什么要那样做。
无论如何,此代码段将多维数组中的所有值收集到一个单独的数组中。
<?php
$values = array();
$collection = array(
array(
61854,
"sdkfjh",
"ldsjf" => array(
"25",
"jsdbf" => array(
9874158,
array(),
array(
6
)
)
),
),
23,
array(
"abcyx",
"hey",
12546,
"iii" => array(
"odsfgv",
521845
)
),
61874
);
function resolve($collection,&$values){
foreach($collection as $each_key => $each_value){
if(is_array($each_value)){
resolve($each_value,$values);
}else{
$values[] = $each_value;
}
}
}
resolve($collection,$values);
echo "<pre>";
print_r($values);
<强>输出强>
Array
(
[0] => 61854
[1] => sdkfjh
[2] => 25
[3] => 9874158
[4] => 6
[5] => 23
[6] => abcyx
[7] => hey
[8] => 12546
[9] => odsfgv
[10] => 521845
[11] => 61874
)