php三维数组的遍历
❶ 如何访问三维数组的某一维
与一维和二维数组类似,以整型为例,三维数组的定义,赋值,和遍历操作如下:
1 定义:
int a[10][10][10];
这样就定义了一个10*10*10的三维数组。
2 赋值:
访问三维数组一个元素可以写作a[m][n][p]。于是将三维数组每个值分别输入的代码如下:
int i,j,k;
for(i = 0; i < 10; i ++)
for(j = 0; j < 10; j ++)
for(k = 0; k < 10; k ++)
cin>>a[i][j][k];
3遍历:
事实上,2中所介绍的赋值,实际上已经对数组元素做了一次遍历。
打印的方法如下:
1
2
3
4
5
int i,j,k;
for(i = 0; i < 10; i ++)
for(j = 0; j < 10; j ++)
for(k = 0; k < 10; k ++)
cout<<a[i][j][k];
从以上样例可以看出,三维数组只是比二维数组多了一个维度,遍历的时候需要多一重循环,访问元素的时候也多了一个下标。其它的并没有特别之处。依此类推,四维五维乃至更高维的数组也是类似的。不过更高维度的数组,在实际应用中很少使用。
❷ php遍历数组的几种方法
PHP中遍历数组有三种常用的方法:
一、使用for语句循环遍历数组;
二、使用foreach语句遍历数组;
三、联合使用list()、each()和while循环遍历数组。
这三种方法中效率最高的是使用foreach语句遍历数组。从PHP4开始就引入了foreach结构,是PHP中专门为遍历数组而设计的语句,推荐大家使用。
希望回答对你有帮助,如果有疑问,请继续追问
❸ php中遍历数组方法
遍历数组有多种实现方法:
1、连续索引的数组:
实现连派码续数组的遍历很简单,因为数组的索引是连续的(0 1 2),所以我们可以首先用count()函数计算出数组中元素的个数拿羡,然后建立一个for循环,如下:
$subject=array("maths","english","physics");
$num_elements=count($subject); //这时$num_elements的值为3
for ($i=0;$i$num_elements; ++$i){
echo ("$subject[$i]
");
}
结果为:
maths
english
physics
这里我们给$i赋了初值为0,是因为数组元素的索引默认为0 1 2,如果第一个元素的索引不为0,我们只需:
$subject=array(3="maths","english","physics");
$num_elements=count($subject)+3; //注意这里
for ($i=3;$i$num_elements; ++$i){
echo ("$subject[$i]
");
}
这里将$i赋了值3,同时$num_elements=count($subject)+3,这里很容易被忽视。
2 、非连续索引的数组:
$subject=array("m"="maths","e"="english","p"="physics");
这里建立了一个了数组,索引值分别为"m" "e " "p",这样的数组怎么遍历?
方法一:使用list()和each()函数组合
$subject=array("m"="maths","e"="english","p"="physics");
reset($subject); //把指针复位到第一个消羡拍元素上
while (list($key,$value)=each($subject)){
echo "$key is $value
"; }
方法二:使用foreach语句
$subject=array("m"="maths","e"="english","p"="physics");
foreach($subject as $key = $value){
echo "$key is $value
";
}
?
是不是比list()和each()简单。
foreach 与 list()each()组合的不同之处:
foreach 是在原来数组的拷贝上执行操作的。他的优点是不会影响当前数组指针的位置,缺点是对于一个很大的数组,复制所花的时间很长。
list() each()组合很明显用他遍历、之后,指针的位置改变了。
方法三:使用array_walk()函数遍历数组
array_walk()是让使用者自定义函数,处理阵列中的每一个元素。
$subject=array("maths","english","physics");
function printElement($element){
print ("$element
");
}
array_walk($subject,"printElement");
❹ PHP语言中 foreach 遍历数组用法
第一种格式遍历给定的 $a 数组。每次循环中,当前单元的值被赋给 $b 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。
自 PHP 5 起,可以很容易地通过在 $b 之前加上 & 来修改数组的单元。此方法将以引用赋值而不是拷贝一个值。例如:
<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
$value = $value * 2;
}
// $arr is now array(2, 4, 6, 8)
?>
var_mp($arr);#打印$arr看下你就明白了,打印之后你再把&去掉,运行再打印,两次比较就清楚
第二种就是把原$arr中的每个单元重新赋值,上面那样写已经很清楚了,不明白的话,就到网上下载一个php手册,好好看看
❺ PHP 数组遍历方法大全(foreach,list,each)
在PHP中数组分为两类:
数字索引数组和关联数组。
其中数字索引数组和C语言中的数组一样,下标是为0,1,2…
而关联数组下标可能是任意类型,与其它语言中的hash,map等结构相似。
下面介绍PHP中遍历关联数组的三种方法:
方法1:foreach
复制代码
代码如下:
<?php
$sports
=
array(
'football'
=>
'good',
'swimming'
=>
'very
well',
'running'
=>
'not
good');
foreach
($sports
as
$key
=>
$value)
{
echo
$key.":
".$value."<br
/>";
?>
输出结果:
football:
good
swimming:
very
well
running:
not
good
方法2:each
复制代码
代码如下:
<?php
$sports
=
array(
'football'
=>
'good',
'swimming'
=>
'very
well',
'running'
=>
'not
good');
while
($elem
=
each($sports))
{
echo
$elem['key'].":
".$elem['value']."<br
/>";
?>
方法3:list
&
each
复制代码
代码如下:
<?php
$sports
=
array(
'football'
=>
'good',
'swimming'
=>
'very
well',
'running'
=>
'not
good');
while
(list($key,
$value)
=
each($sports))
{
echo
$key.":
".$value."<br
/>";
?>
❻ PHP里怎么把三维数组遍历成一维数组
这个不好说,有横向遍历和纵向遍历,看你的需要,横向遍历要用到栈的知识,纵向就用递归就行(把数组给一个函数,函数判断数组里面的值,是不是数组,是数组就继续给自己这个数组,不是的话就输出到目标数组)