php中三维数组怎么遍历
时间 : 2023-02-22 15:14:02声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性
php中三维数组是指数组的每个子元素本身又是一个数组,每个子数组中又包含多个元素,而且元素可能还有自己的元素,这就是php中的三维数组。php中遍历三维数组一般有三种方法:
一、使用for循环遍历三维数组
最简单的方法是用for循环,先遍历二维数组,然后再遍历每一个子数组。代码实现如下:
<?php
$arr = array(
array('name'=>'超人','age'=>20,'sex'=>'male'),
array('name'=>'蜘蛛侠','age'=>22,'sex'=>'male'),
array('name'=>'神奇女侠','age'=>17,'sex'=>'female')
);
foreach ($arr as $key => $value) {
foreach ($value as $k => $v){
echo "arr[$key][$k] = $v <br/>";
}
}
?>
输出:
arr[0][name] = 超人
arr[0][age] = 20
arr[0][sex] = male
arr[1][name] = 蜘蛛侠
arr[1][age] = 22
arr[1][sex] = male
arr[2][name] = 神奇女侠
arr[2][age] = 17
arr[2][sex] = female
二、使用array_walk_recursive函数遍历三维数组
array_walk_recursive函数是可以遍历任何维的数组的,它能深度遍历三维数组。
<?php
$arr = array(
array('name'=>'超人','age'=>20,'sex'=>'male'),
array('name'=>'蜘蛛侠','age'=>22,'sex'=>'male'),
array('name'=>'神奇女侠','age'=>17,'sex'=>'female')
);
array_walk_recursive($arr,function ($v,$k){
echo "$k => $v <br/>";
});
?>
输出:
name => 超人
age => 20
sex => male
name => 蜘蛛侠
age => 22
sex => male
name => 神奇女侠
age => 17
sex => female
三、使用递归函数遍历三维数组
递归函数也可以实现三维数组的遍历,代码如下:
<?php
$arr = array(
array('name'=>'超人','age'=>20,'sex'=>'male'),
array('name'=>'蜘蛛侠','age'=>22,'sex'=>'male'),
array('name'=>'神奇女侠','age'=>17,'sex'=>'female')
);
function
php的三维数组是指由三个主要元素组成的多维数组,其结构是一个数组的数组,有三个深度层级,通常情况下,数组元素可以是数字或字符串,这样其它数组便成为第三个层级。如果我们想要遍历php中的三维数组,最常用的方式是使用嵌套循环。
嵌套循环是指循环嵌套循环,我们可以使3个或者两个for循环来实现。在php三维数组的遍历中,可以使用三个for循环。第一个for循环用于遍历数组的一维元素,第二个for循环用于遍历二维元素,第三个for循环用于遍历三维元素。下面是一个简单实例:
<?php
// 三维数组
$products = array(
'fruits' => array(
'apple' => array('price' => 13, 'count' => 10),
'banana' => array('price' => 10, 'count' => 5 ),
'vegetables' => array(
'potato' => array('price' => 8, 'count' => 20),
'onion' => array('price' => 5, 'count' => 12)
)
);
// 使用3个for循环输出数组
foreach($products as $type => $sub_products){
echo 'type='.$type.'<br>';
foreach($sub_products as $name => $details){
echo 'name='.$name.'<br>';
foreach($details as $key => $value){
echo $key.'='.$value.'<br>';
}
}
}
?>
该实例的输出结果如下:
type=fruits
name=apple
prices=13
count=10
name=banana
prices=10
count=5
type=vegetables
name=potato
prices=8
count=20
name=onion
prices=5
count=12
从上面的实例中可以看出,使用三个for循环遍历php中的三维数组是非常有效的,而且易于理解。
除了使用for循环以外,在遍历三维数组时,我们也可以使用array_walk_recursive()函数,该函数可以为每个元素执行一段算法。它不会修改本身数组,
上一篇
郑州兄弟连php怎么样
下一篇
php 函数未定义怎么弄
https/SSL证书广告优选IDC>>
推荐主题模板更多>>
推荐文章