PHP之数组遍历 - 主打产品 - 新余市思创暖通工贸有限公司
现在的位置: 主页 > 主打产品 > 文章正文
PHP之数组遍历
作者:新余市思创暖通工贸有限公司 来源:www.jxsichuang.com 发布时间:2017-09-03 12:37:24
PHP之数组遍历 数组在PHP中是一个非常强大的武器,用起来方便、容易,由于使用起来异常灵活,用它就可以实现数据结构中的链表、栈、队列、堆以及所谓的字典、集合等,也可以转换成XML格式。

1、使用for

for语句遍历数组不是一个好选择,一般不会用,局限性太大,因为数组的下标很多时候不连续,或者是既有整数下标又有字符串下标,但存在这么一个情况,恰好是索引数组,且它的下标是连续的,那么这也是一种方法。

<?php

$array = array('a', 'b', 'c', 'd', 'e');

$size = count($array); //取得数组单元个数

for($i=0; $i<$size; $i++)

echo $array[$i].'<br/>';

2、使用foreach

foreach比for更方便、灵活,一般使用它,使用时foreach($arr_name as $value),将前一个数组使用as关键字专为它的元素,当然这是针对一维数组而言,还可以将元素所在的键名取到,如下方式foreach($arr_name as $key=>$value)即可。

<?php

$array = array('os'=>'Linux', 'server'=>'Apache', 'db'=>'mysql', 'language'=>'PHP');

foreach($array as $key=>$value){

echo 'key: '.$key.' --- value: '.$value.'<br/>';

}

3、list、each、while函数结合

each函数每作用于数组一次,指向内部元素的指针遍向后挪动一个单元,每次each返回一个固定格式的键/值对数组,具体是(1=>值, 'value'=>值, 0=>键, 'key'=>键)。下一次each作用时将移动到下一个元素,示例

<?php

$arr = array('one'=>'a','two'=>'b', 'three'=>'c');

$lst = each($arr);

echo 'each=> <pre>';

var_dump($lst);

list函数的作用是,赋给它一个数组变量,它会将该数组中的以整数为键值的元素按键值从小到大的顺序赋给自己的参数,如果参数不够填满参数为止,采集软件,如果数组中值不够,则参数被赋为空值,代码接上

list($key, $val) = $lst;

echo '<br/>';

$lst数组变量中的值,键值为整数的分别是前面的1=>'a'和后面的0=>'one,list函数的好处是即便键值小的、排在后边元素也会按照从小到大的顺序赋给list函数中的从前到后的参数。

由于each不循环数组,每each作用一下只移动一下指针,到数组末尾返回值为false,于是放在while中就最合适不过了

<?php

$arr = array('one'=>'a','two'=>'b', 'three'=>'c');

while(list($key, $val) = each($arr)){

echo $key.' => '.$val.'<br/>';

}

4、使用数组内部指针移动函数

数组内部指针默认指向数组中的第一个元素,函数大致有,current():返回当前指针指向数组中位置的元素值;key():返回当前指针指向数组中位置的元素键;next():将指针移动到下一个元素位置;prev():将指针移动到前一个元素位置;reset():将数组指针一到那个到数组第一个元素的位置;end():将数组指针移动到数组最后一个元素的位置。它们作用的参数均为数组变量本身,而结合do...while又可实现数组的顺序和逆序遍历。

复制代码

<?php

echo 'key:'.key($arr).' current:'.current($arr).'<br/>'; //当前键和值,默认指向数组第一个元素

next($arr); //后移一个,指向第二个元素

echo 'key:'.key($arr).' current:'.current($arr).'<br/>'; //当前键和值

next($arr); //再后移一个,指向第三个元素

echo 'key:'.key($arr).' current:'.current($arr).'<br/>'; //当前键和值

prev($arr); //前移一个,指向第二个元素

echo 'key:'.key($arr).' current:'.current($arr).'<br/>'; //当前键和值

end($arr); //移动到数组最后一个元素

echo 'key:'.key($arr).' current:'.current($arr).'<br/>'; //当前键和值

reset($arr); //移动到数组第一个元素

echo 'key:'.key($arr).' current:'.current($arr).'<br/>'; //当前键和值

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:天门SEO http://tianmen.raoyu.net


  • 上一篇:表格js插件highcharts
  • 下一篇:最后一页
  • 
    COPYRIGHT © 2015 新余市思创暖通工贸有限公司 ALL RIGHTS RESERVED.
    本站所有原创信息,未经许可请勿任意转载或复制使用 网站地图 技术支持:肥猫科技
    精彩专题:网站建设
    购买本站友情链接、项目合作请联系客服QQ:2500-38-100