PHP之数组遍历_PHP教程

php中文网
发布: 2016-07-13 10:17:17
原创
999人浏览过

Alkaid.art
Alkaid.art

专门为Phtoshop打造的AIGC绘画插件

Alkaid.art 153
查看详情 Alkaid.art

PHP之数组遍历

数组在PHP中是一个非常强大的武器,用起来方便、容易,由于使用起来异常灵活,用它就可以实现数据结构中的链表、栈、队列、堆以及所谓的字典、集合等,也可以转换成XML格式。
 
      1、使用for
 
      for语句遍历数组不是一个好选择,一般不会用,局限性太大,因为数组的下标很多时候不连续,或者是既有整数下标又有字符串下标,但存在这么一个情况,恰好是索引数组,且它的下标是连续的,那么这也是一种方法。
 
    $array = array('a', 'b', 'c', 'd', 'e');
    $size = count($array);    //取得数组单元个数
    for($i=0; $i
        echo $array[$i].'
';
     2、使用foreach
 
      foreach比for更方便、灵活,一般使用它,使用时foreach($arr_name as $value),将前一个数组使用as关键字专为它的元素,当然这是针对一维数组而言,还可以将元素所在的键名取到,如下方式foreach($arr_name as $key=>$value)即可。
 
    $array = array('os'=>'Linux', 'server'=>'Apache', 'db'=>'mysql', 'language'=>'PHP');
    foreach($array as $key=>$value){
        echo 'key: '.$key.' --- value: '.$value.'
';
    }
    :
 
      
 
      3、list、each、while函数结合
 
      each函数每作用于数组一次,指向内部元素的指针遍向后挪动一个单元,每次each返回一个固定格式的键/值对数组,具体是(1=>值, 'value'=>值, 0=>键, 'key'=>键)。下一次each作用时将移动到下一个元素,示例
 
    $arr = array('one'=>'a','two'=>'b', 'three'=>'c');
    $lst = each($arr);    
    echo 'each=>
';
登录后复制
    var_dump($lst); 
     
 
      
 
      list函数的作用是,赋给它一个数组变量,它会将该数组中的以整数为键值的元素按键值从小到大的顺序赋给自己的参数,如果参数不够填满参数为止,如果数组中值不够,则参数被赋为空值,代码接上
 
    list($key, $val) = $lst;
    echo '
';
  
 
      
 
      $lst数组变量中的值,键值为整数的分别是前面的1=>'a'和后面的0=>'one,list函数的好处是即便键值小的、排在后边元素也会按照从小到大的顺序赋给list函数中的从前到后的参数。
 
      由于each不循环数组,每each作用一下只移动一下指针,到数组末尾返回值为false,于是放在while中就最合适不过了
 
     
 
    $arr = array('one'=>'a','two'=>'b', 'three'=>'c');
    while(list($key, $val) = each($arr)){
        echo $key.' => '.$val.'
';
    }
      
 
     
 
      4、使用数组内部指针移动函数
 
      数组内部指针默认指向数组中的第一个元素,函数大致有,current():返回当前指针指向数组中位置的元素值;key():返回当前指针指向数组中位置的元素键;next():将指针移动到下一个元素位置;prev():将指针移动到前一个元素位置;reset():将数组指针一到那个到数组第一个元素的位置;end():将数组指针移动到数组最后一个元素的位置。它们作用的参数均为数组变量本身,而结合do...while又可实现数组的顺序和逆序遍历。
 
     
 
复制代码
    echo 'key:'.key($arr).' current:'.current($arr).'
';  //当前键和值,默认指向数组第一个元素
    next($arr);  //后移一个,指向第二个元素
    echo 'key:'.key($arr).' current:'.current($arr).'
';  //当前键和值
    next($arr);   //再后移一个,指向第三个元素
    echo 'key:'.key($arr).' current:'.current($arr).'
';  //当前键和值
    prev($arr);   //前移一个,指向第二个元素
    echo 'key:'.key($arr).' current:'.current($arr).'
';  //当前键和值
    end($arr);    //移动到数组最后一个元素
    echo 'key:'.key($arr).' current:'.current($arr).'
';  //当前键和值
    reset($arr);  //移动到数组第一个元素
    echo 'key:'.key($arr).' current:'.current($arr).'
';  //当前键和值
 
      
 
      

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/893562.htmlTechArticlePHP之数组遍历 数组在PHP中是一个非常强大的武器,用起来方便、容易,由于使用起来异常灵活,用它就可以实现数据结构中的链表、栈、队...
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号