php数组遍历

1:如果数组是有序的,可以直接使用for循环来循环数组

例子:

<?php
$a = array(1,2,3,4,5,6);
for($i=0;$i<count($a);$i++)
{
	echo "\$a[{$i}]=".$a[$i]."<br>";
}
?>
输出结果:

$a[0] = 1;

$a[1] = 2;

$a[2] = 3;

$a[3] = 4;

$a[4] = 5;

$a[5] = 6;
2:如果数组是无序的,那么需要使用foreach,foreach既可以输出数组的键也可以输出值得;

如果需要输出键:

foreach($数组变量 as $key=>$value)

{

}

如果不需要键

foreach($数组变量 as $value)

{

}

<?php
$total = array(
		"user"=>array(
			array("张三",18,100),
			array("李四",20,70),
			array("王五",14,80),
		),
		"scoure"=>array(
			array(110,50),
			array(120,60),
			array(130,130)
		),
		"email"=>array(
			array("abc@qq.com"),
			array("def@qq.com"),
			array("ghi@qq.com"),
		)
);
foreach($total as $key=>$value)
{
	echo '<table align="center" border="1px" width="800"><caption><h1>'.$key.'</h1></caption>';
	foreach($value as $info)
	{
		echo '<tr>';
			foreach($info as $message)
			{
				echo '<td>'.$message.'</td>';
			}
		echo '</tr>';
	}
	echo '</table>';
}
?>
输出结果:




3:使用each进行遍历;

A:each()需要传入一个数组变量作为参数,并且返回的是一个参数或者是false,默认输出参数的第一个元素;

B:输出的结果为4对键值的数组:键分别为key 0 value 1,其中key与0为元素的键,value与1为元素的值

C:每调用一次each()会使参数数组的指针往回,直到最后,each()输出false;

<pre name="code" class="php">$array = array('key1'=>'value1','key2'=>'value2');
$temp = each($array);//指针在(key1=>value1)
echo '<pre>';
print_r($temp);
echo '</pre>';
/*Array
 (
     [1] => value1
    [value] => value1
     [0] => key1
     [key] => key1
 )*/
$temp = each($array);<span style="font-family: Arial, Helvetica, sans-serif;">//指针在(key2=>value2)</span>
echo '<pre>';
print_r($temp);
echo '</pre>';
/*Array
(
    [1] => value2
    [value] => value2
    [0] => key2
    [key] => key2
)*/
//如果再执行一次each()输出的就是false了
 

D:each()主要搭配while来进行遍历,因为while是使用条件来判断循环是否继续,如果遍历过一遍之后想再遍历需要重置指针,否则each()一直输出false

数组内部指针函数有

next()指针往后移一

pre()指针往前移一

reset()重置指针到开始

end()将指针设置到最后

current()获取当前指针的值

key()获取当前指针的键

$array = array('key1'=>'value1','key2'=>'value2');
while($temp = each($array))
{
	echo '<pre>';
	print_r($temp);
	echo '</pre>';
}
输出的结果与上面的一样

4:使用list()将数组中的元素直接转换成变量*list()只能作用于数字索引数组。

A:list()使用比较特殊,需要将一个数组赋值给list()这个函数

B:数组中有多少个元素,list()函数就需要设置多少个参数,可以直接一个空的参数

$array = array(1,2,3)

list(num1,num2,num3) = $array;

echo $num1;//输出1

echo $num2;//输出2

echo $num3;//输出3

如果只需要第三个元素,那么list()中的参数可以写成

list(,,num3)即可

C:通常搭配于字符串使用,当对字符串进行分割后,可以直接将字符串中需要的部分转换成变量

==========================================================================================================================

使用while() list() each()进行遍历

$array = array('key1'=>'value1','key2'=>'value2','key3'=>'value3','key4'=>'value4');
while(list($key,$value) = each($array))
{
	echo $key.'===>'.$value.'<br>';
}
//输出

key1===>value1
key2===>value2
key3===>value3
key4===>value4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值