zoukankan      html  css  js  c++  java
  • PHP 数组(遍历)

    数组定义
    $attr = array(); //定义一个空的数组
    $attr = array(1,2,3,4); //定义一个有值的数组
    $attr[0]="aa";
    $attr[1]="bb";

    数组分为两种
    1.索引数组
    $attr = array(1,2,3,4,5);
    print_r($attr);   //输出数组
    2.关联数组
    $attr = array("code"=>101,"name"=>"张三","sex"=>"男");
    print_r($attr);
    echo $attr["name"];

    遍历数组
    $attr = array("aa","bb","cc","dd");

    1.for循环遍历,只能遍历索引数组
    for($i=0;$i<count($attr);$i++)
    {
     echo $attr[$i]."<br>";
    }

    2.foreach遍历,关联索引都支持
    foreach($attr as $v)
    {
     echo $v."<br>";
    }

    foreach($attr as $k=>$v)
    {
     echo $k."---".$v."<br>";
    }

    3.使用each()和list()结合遍历
    var_dump(each($attr)); //取数组里面当前指针指向的元素
    list($a,$b,$c,$d)=$attr; //写在等号左边的,将数组里面的元素交给一组变量,数组必须是索引数组

    while(list($k,$v) = each($attr))
    {
     echo "{$k}--{$v}<br>";
    }


    4.使用指针遍历
    current($attr); //取当前指针指向的元素的值
    echo key($attr); //取当前指针指向的元素的key
    next($attr); //将指针向后调一个
    next($attr);
    prev($attr); //将指针向前调一个
    end($attr); //将指针指向最后
    reset($attr); //将指针重置
    echo current($attr);


    while(next($attr))              //无法输出第一个元素,使用do...while循环
    {
     echo current($attr);
     echo key($attr);
    }

    do
    {
     echo current($attr);
     echo key($attr);
    }
    while(next($attr))

    其他常用函数

    foreach($attr as $k=>$v)
    {
     if($v==3)
     {
      unset($attr[$k]);//删除元素
     }
    }
    $attr = array_values($attr); //重新索引

    var_dump(in_array(9,$attr));//判断某一个值是否在数组里面存在
    var_dump(array_reverse($attr));//翻转数组,创建新的数组并返回
    var_dump(array_unique($attr)); //去重,删除数组中重复的值并返回新的数组
    $attr1 = array(9,10);
    var_dump(array_merge($attr,$attr1));//合并数组
    array_push($attr,10); //添加元素到数组,返回值不是新的数组
    var_dump($attr);
    $attr[]=11; //添加元素到数组

  • 相关阅读:
    [BZOJ1004] [HNOI2008]Cards解题报告(Burnside引理)
    [POJ1286&POJ2154&POJ2409]Polya定理
    monkey工具介绍及用法
    adb 命令使用与解释
    android-sdk的安装及配置
    spring-boot 加入拦截器Interceptor
    对spring boot 之AutoConfiguration 的理解
    java 集合操作小结
    java -d . **.java 与 java **.java 的区别
    关于Eclipse SVN 分支 与主干 小结
  • 原文地址:https://www.cnblogs.com/bujianchenxi/p/5992202.html
Copyright © 2011-2022 走看看