php遍历数组的4种方法总结,它分分别是foreach循环、each函数、list函数、for循环,需要的朋友可以参考下
公司主营业务:网站设计、网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出洪江管理区免费做网站回馈大家。
在php中可以用来遍历数组的函数有很多,如有:for语句、list、each、foreach这四个函数,这也是在php中遍历数组的几个主要的函数,下面我来给大家介绍。
foreach遍历数组
我们在运用数组时,常常要遍历数组并获得各个键或者元素值,php提供了一些专门遍历数组的函数。这里先介绍foreach遍历数组函数的用法。
结构形式:
复制代码 代码如下:
foreach ( array_expression as $value ) statement
/* array_expression是要遍历的数组
as作用是将数组的值赋给$value
statement是后续语句
*/
实例1:
复制代码 代码如下:
'白色' ,
'black' = '黑色' ,
'red' = '红色' ,
'green' = '绿色',
'yellow' = '黄色');
foreach( $color as $c) echo $c ."
";
?
通过foreach不仅可以获得元素的值也可以获得键名,结构形式:
复制代码 代码如下:
foreach ( array_expression as $key = $value ) statement
将以上实例中第7行的代码:
复制代码 代码如下:
foreach( $color as $c) echo $c ."br";
改为:
复制代码 代码如下:
foreach( $color as $key = $c) echo $key.$c ."br";
each遍历数组
遍历数组是php数组操作一个重要的环节,除了前面提到的foreach函数,这里再介绍一个遍历数组的函数-each()。
用each()函数可以输出当前指针位置的键名和对应的元素值。可以使用”0″或”key”来访问键名(标识符),用”1″或”value”访问标识符对应的值。
实例:
复制代码 代码如下:
?php
$languages=array(1=--"php",
5="html",
10="css");
$a=each($languages); /* 第一次遍历数组 */
echo $a[0] ."t";
echo $a[1] ."br";
$a=each($languages); /* 第二次遍历数组 */
echo $a[key] ."t";
echo $a[value];
?
list遍历数组
函数list可以在遍历数组时一次赋给变量,通常和each()函数配合使用。用list()函数使访问each()返回的键和值变得更加简单了。
实例:
复制代码 代码如下:
?php
$date=array(1=--"Monday",
2="Tuesday",
3="Wednesday");
list($key,$value)=each($date); /* 遍历函数 */
echo "$key $value" ."br"; /* 输出第一个数组 */
$next=next($date); /* 指针后移 */
echo "$next";
?
ps:list()函数刚好与array()函数相反,array()将一系列数据构造成数组,而list()则将数组拆分成数据。
for遍历数组
除了php预定义的一些遍历数组函数,我们还可以利用for语句的循环特性将数组遍历输出。下面给出例子:
复制代码 代码如下:
?php
$a[]="张学友"; /* 定义数组 */
$a[]="刘德华";
$a[]="黎明";
$a[]="郭富城";
$s=count($a); /* 统计数组个数 */
for($i=0;$i$s;$i++){ /* 遍历数组 */
echo $a[$i] ."br /--"; /* 显示数组 */
}
?
既然是遍历,那就将数据库指针先移到第一条记录,逐次取出数据进行运算,下移指针,直到库结束。
通常的代码如下:
mysql_data_seek($result,0);//指针复位
while($row=mysql_fetch_array($result)) {
//对每行记录进行运算 处理,如 :echo $row['name']."br /";
}
1,利用数组的key判断。
$array = (a,b,c,d,e,f,g);//定义一个数组
$count = count($array);//计算该数组的元素有多少个
//遍历$array
foreach ($array as $key = $val)
{
if ($key == $count-1)
{
echo "最后一次循环";
}
}
在 php 语言里,列出一个文件夹下所有的文件,最简单的是使用 scandir 函数,示例如下:
?php
$dir = '/tmp';
$files1 = scandir($dir);
print_r($files1);
?
scandir 原型定义如下:
array scandir ( string $directory [, int $sorting_order [, resource $context ]] )
第2个参数,可以将获取的文件列表按升、降序进行排序。
如果只是简单的输出一个字符串的话,可以使用implode
$a=array(1,2);
$b=array(3,4);
echo implode('', $a); // 12
echo implode('', $b); // 34
遍历数组,一般都是通过foreach或者for来遍历。这两个数组有什么关系,遍历时需要达到什么操作,还需要你这边给出一个具体的表述,否则不好回答。或者你举个例子也可以。
补充回答:
两个数组,可以选择其中一个数组进行遍历,然后在循环体中取另外一个数组的元素。这里假设两个数组里的元素个数是一样的,一一对应。代码里做了简单的处理,防止出错。
// 假设 $b, $c 如此
$b=array(1,2);
$c=array(3,4);
foreach($b as $e)
{
if(count($c)) // 如果 $c 里的元素没了,就跳出循环
{
$txt=array_shift($c); // 取出 $c 里的一个元素
echo "lt;a href='a.php?i=".$e."'gt;".$txt."lt;/agt;";
}
else
break;
}
还是这样子比较好:
// 假设 $b, $c 如此
$b=array(1,2);
$c=array(3,4);
$len=min(count($b), count($c));
for($i=0; $i$len; $i++)
echo "a href='a.php?i=".$b[$i]."'".$c[$i]."/a";