问题描述
- php 用递归遍历数组多维数
-
Array
(
[dir] => Array
(
[F:开发测试 est9.14香奈儿1-10] => Array
(
[dir] => Array
(
[F:开发测试 est9.14香奈儿1-102362_G_1338059108234.jpg] => Array
(
[file] => Array
(
[0] => F:开发测试 est9.14香奈儿1-102362_G_1338059108234.jpg201205261903496506-1.jpg
[1] => F:开发测试 est9.14香奈儿1-102362_G_1338059108234.jpg201205261903556506-2.jpg
[2] => F:开发测试 est9.14香奈儿1-102362_G_1338059108234.jpg201205261904006506-3.jpg
[3] => F:开发测试 est9.14香奈儿1-102362_G_1338059108234.jpg201205261904076506-4.jpg
[4] => F:开发测试 est9.14香奈儿1-102362_G_1338059108234.jpg201205261904136506-5.jpg
[5] => F:开发测试 est9.14香奈儿1-102362_G_1338059108234.jpg201205261904196506-6.jpg
[6] => F:开发测试 est9.14香奈儿1-102362_G_1338059108234.jpg201205261904256506-7.jpg
[7] => F:开发测试 est9.14香奈儿1-102362_G_1338059108234.jpg201205261904316506-8.jpg
[8] => F:开发测试 est9.14香奈儿1-102362_G_1338059108234.jpg201205261904386506-9.jpg
[9] => F:开发测试 est9.14香奈儿1-102362_G_1338059108234.jpg2362_G_1338059108234.jpg
[10] => F:开发测试 est9.14香奈儿1-102362_G_1338059108234.jpg2362_G_1338059108234.jpg.txt
)) [F:开发测试 est9.14香奈儿1-102559_G_1353138243950.jpg] => Array ( [file] => Array ( [0] => F:开发测试 est9.14香奈儿1-102559_G_1353138243950.jpg201211171543306517兰(鳄鱼皮)-1.jpg [1] => F:开发测试 est9.14香奈儿1-102559_G_1353138243950.jpg201211171543306517兰(鳄鱼皮)-2.jpg [2] => F:开发测试 est9.14香奈儿1-102559_G_1353138243950.jpg201211171543306517兰(鳄鱼皮)-3.jpg [3] => F:开发测试 est9.14香奈儿1-102559_G_1353138243950.jpg201211171543316517兰(鳄鱼皮)-4.jpg [4] => F:开发测试 est9.14香奈儿1-102559_G_1353138243950.jpg201211171543316517兰(鳄鱼皮)-5.jpg [5] => F:开发测试 est9.14香奈儿1-102559_G_1353138243950.jpg2559_G_1353138243950.jpg ) ) [F:开发测试 est9.14香奈儿1-10新建文件夹] => Array ( [dir] => Array ( [F:开发测试 est9.14香奈儿1-10新建文件夹2558_G_1349878776638.jpg] => Array ( [file] => Array ( [0] => F:开发测试 est9.14香奈儿1-10新建文件夹2558_G_1349878776638.jpg201210102219156516克鳄鱼纹(古银扣)-1.jpg [1] => F:开发测试 est9.14香奈儿1-10新建文件夹2558_G_1349878776638.jpg201210102219156516克鳄鱼纹(古银扣)-2.jpg [2] => F:开发测试 est9.14香奈儿1-10新建文件夹2558_G_1349878776638.jpg201210102219166516克鳄鱼纹(古银扣)-3.jpg [3] => F:开发测试 est9.14香奈儿1-10新建文件夹2558_G_1349878776638.jpg201210102219176516克鳄鱼纹(古银扣)-4.jpg [4] => F:开发测试 est9.14香奈儿1-10新建文件夹2558_G_1349878776638.jpg201210102219176516克鳄鱼纹(古银扣)-5.jpg [5] => F:开发测试 est9.14香奈儿1-10新建文件夹2558_G_1349878776638.jpg201210102219186516克鳄鱼纹(古银扣)-6.jpg [6] => F:开发测试 est9.14香奈儿1-10新建文件夹2558_G_1349878776638.jpg201210102219186516克鳄鱼纹(古银扣)-7.jpg [7] => F:开发测试 est9.14香奈儿1-10新建文件夹2558_G_1349878776638.jpg2558_G_1349878776638.jpg ) ) [F:开发测试 est9.14香奈儿1-10新建文件夹shiasd] => Array ( ) ) ) ) ) )
)
求帮忙 把上面的数组用递归返回所有的键值到一个一维数组中
解决方案
参考下面的例子:函数中使用了参数的引用传递方式
<?php
function arr_foreach ($arr, &$arr2)
{
if (!is_array ($arr))
{
return false;
}
foreach ($arr as $key => $val )
{
if (is_array ($val))
{
arr_foreach ($val, $arr2);
}
else
{
//echo $val.'<br/>';
array_push($arr2, $val); //添加到一维数组中
}
}
}
$arr1 = array (1=>array(11,12,13,14=>array(141,142)),2,3,4,5);
echo '<pre>';
print_r($arr1);
echo '<pre>';
$arr2 = array(); //定义一维数组
arr_foreach ($arr1, $arr2); //合并数组
echo '<hr />输出一维数组<pre>';
print_r($arr2);
echo '<pre>';
?>
解决方案二:
http://www.nowamagic.net/php/php_MultiAimensionalArrayTraverse.php
解决方案三:
关于PHP中数组递归遍历的一些见解
php array reader 递归遍历 php 数组
PHP多维数组的递归遍历
时间: 2024-09-18 08:18:53