php数组循环输出实现方法
以前我们经常会想怎么来实现php数组循环输出来,本文章来介绍了利用php中常用的四种循环语句来实现单数组或多维数组循环输出方法.
在 PHP 中,我们可以使用下列循环语句:
while
只要指定的条件成立,则循环执行代码块
do...while
首先执行一次代码块,然后在指定的条件成立时重复这个循环
for
循环执行代码块指定的次数
foreach
根据数组中每个元素来循环代码块
先我们利用php自带函数对php数组进行遍历
随手可得array_keys()和array_values()函数以用来得到数组中所有关键字和对应的值的列表.
实例代码如下:
'bacon and eggs' , 'lunch' => 'roast beef' , 'dinner' => 'lasagna' ); /* returns the array ('breakfast', 'lunch', 'dinner') with numeric indices */ $result = array_keys ( $menu ); print_r( $result ); print " " ; /* returns the array ('bacon and eggs', 'roast beef', 'lasagna') with numeric indices */ $result = array_values ( $menu ); print_r( $result ); ?>利用foreach 遍历php数组
PHP foreach() 语法结构用于遍历操作或输出数组,foreach() 仅能用于遍历数组或对象,当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误.
实例代码如下:
list = array ( 'upid' => '1' , 'title' => '公司新闻' , 'list' => array ( 'id' => '3' , 'title' => '公司新闻标题测试!' , 'intime' => '2009-29-5' )); foreach ( $list as $v => $a ) { echo $a [ 'upid' ] . '-' . $a [ 'title' ]; foreach ( $a [ 'list' ] as $b ){ echo $b [ 'title' ]; } }使用数组键值实例代码如下:
<?php $arr_age = array ( "wang" =>18, "li" =>20, "zhang" =>25); foreach ( $arr_age as $key => $age ) { echo $key , ': ' , $age , '<br />' ; } ?>运行例子输出:
当 foreach 开始执行时,数组内部的指针会自动指向第一个单元,这意味着不需要在 foreach 循环之前调用 reset().
for() 循环遍历数组
如果是操作连续键值的数组,也可以采用 for() 循环来遍历数组:
实例代码如下:
<pre> <?php $shuzu = array ( "ni" , "wo" , "ta" , "php" , "mysql" ); $count = count ( $shuzu ); echo "使用for遍历数组" ; echo "<br/>$nbsp;<br/>" ; for ( $i =0; $i < $count ; $i ++) { $j = $i +1; echo "第{$j}个元素是: $shuzu[$i]" ; echo "<br/>$nbsp;<br/>" ; } ?> </pre>也可以用 list() 和 each() 结合来遍历php数组,但测试发现效率不如 foreach() .
list函数
list() 函数用数组中的元素为一组变量赋值.
注意,与 array() 类似,list() 实际上是一种语言结构,不是函数.
语法
list(var1,var2...)参数 描述
var1 必需.第一个需要赋值的变量.
var2 可选.可以有多个变量.
提示和注释
注释:该函数只用于数字索引的数组,且假定数字索引从 0 开始
*/
实例代码如下:
$colors = array ( 'red' , 'blue' , 'green' , 'yellow' ); while (list( $key , $val ) = each( $colors )) { echo "other list of $val.<br />" ; }查看更多关于php数组循环输出实现方法 - php数组的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did31320