数组

作者: 刘宇龙 | 来源:发表于2016-09-13 19:37 被阅读0次

    数组基本概念

    直接赋值声明数组

    1. 一个数组中存的是多个内容, 数组中的内容叫作 “元素”
    2. 每个元素都是由 键和值 组成的 key/ value key下标
      $a = array("one"=>"11111111", "two"=>"222222222");
    3. 就是通过 key 使用 值
      下标有两种类型: 一种是整数(索引数组), 一种是字符串(关联数组)
      []来操作下标, 也可以使用{}进行互换, 建议使用 []来指定下标
    4. 在使用下标时,如果是关联数组, 一定要使用引号, 不要使用常量名称
    5. 数组的自动增涨下标, 默认是从0开始的, 自动增涨的都是出现过的最大值加1
    6. 关联数组的字符串下标, 不会影响索引下标的排列规则!
    7. 使用array()函数声明数组, 默认是索引的下标, 是从0开始
    8. 使用 => 符号指定下标
      php5.4以后, 可以像其他语言一样声明数组了
    9. 删除数组中的一个元素使用unset(), 下标不会重新索引, 需要使用array_values()函数重新索引

    直接赋值:

        $arr[0] = 1;
        $arr[1] = 2;
        $arr[2.7] = 3;
        $arr[true]=5;
        $arr[false]=6;
        $arr[null]=7;
    
        $arr{'one'} = 1;
        $arr['two'] = 2;
        $arr['three'] = 3;
    
        print_r($arr);
    

    数组下标排列规则:

    $arr[]=10;    //0
    $arr[]=10;   //1
    $arr[]=10;    //2
    $arr[8]=10;   //8
    $arr[]=10;    //9
    $arr[9]=11;   //9
    $arr[]=10;    //10
    $arr[4]=44;   //4;
    
    $arr[] = 55;  //
    
    $arr['one']=66;
    
    $arr[] = 99;
    
    $arr[-100]=-100;
    $arr[] = 'aa';
    
    echo '<pre>';
    print_r($arr);
    echo '</pre>';
    

    声明数组:

    function demo() {
            return array("one", "two", "three");
        }
    
        $arr = demo();
    
        echo $arr[0];
        echo '<br>';
    
    
        echo demo()[1];
    

    删除数组:

    $arr = ["one", "two", "three", "four"];
    
        unset($arr[2]);
    
        $arr = array_values($arr);
    
        print_r($arr);
    

    循环删除数组例子:

    function xdw($m, $n) {
        $arr = array();
    
        $a = "a";
    
        for($i=0; $i<$m; $i++) {
            $arr[] = $a++;
        }
    
        $i=0;
        while(count($arr) > 1) {
    
            if($i%$n == 0) {
                unset($arr[$i]);
            } else {
                $arr[] = $arr[$i];
                unset($arr[$i]);
    
            }
    
            $i++;
        }
    
        return $arr;
    
    }
    
    print_r(xdw(80, 7));
    

    二维数组:(数组的数组)

    <?php
    // $one = array("name"=>"zs","age"=>20,"sex"=>"男","email"=>"aaaaa@.com");
    // $two = array("name"=>"ls","age"=>21,"sex"=>"女","email"=>"bbbbb@.com");
    // $three = array("name"=>"ww","age"=>22,"sex"=>"男","email"=>"ccccc@.com");
    //
    // $group=array($one,$two,$three);
    
    $group=array(
            array("name"=>"zs","age"=>20,"sex"=>"男","email"=>"aaaaa@.com"),
            array("name"=>"ls","age"=>21,"sex"=>"女","email"=>"bbbbb@.com"),
            "three"=>array("name"=>"ww","age"=>22,"sex"=>"男","email"=>"ccccc@.com")
    );
    // var_dump($group[1]);
    // $arr=$group[1];
    // echo $arr['email'];
    // echo $group[1]['email'];
    echo $group['three']['name'];
    

    多维数组:

    用类封装数组

    <?php
    // $class=[
    // "group1"=>[
    //               ["name"=>"zs","age"=>20,"sex"=>"男","email"=>"aaaaa@.com"],
    //               ["name"=>"ls","age"=>21,"sex"=>"女","email"=>"bbbbb@.com"],
    //               ["name"=>"ww","age"=>22,"sex"=>"男","email"=>"ccccc@.com"]
    //       ],
    //       [
    //               ["name"=>"zs","age"=>20,"sex"=>"男","email"=>"aaaaa@.com"],
    //               ["name"=>"ls","age"=>21,"sex"=>"女","email"=>"bbbbb@.com"],
    //               ["name"=>"ww","age"=>22,"sex"=>"男","email"=>"ccccc@.com"]
    //       ],
    //       [
    //               ["name"=>"zs","age"=>20,"sex"=>"男","email"=>"aaaaa@.com"],
    //               ["name"=>"ls","age"=>21,"sex"=>"女","email"=>"bbbbb@.com"],
    //               ["name"=>"ww","age"=>22,"sex"=>"男","email"=>"ccccc@.com"]
    //       ]
    // ];
    // echo $class[0][1]['age'];
    

    第一个方括号不管有没有顺序排,第二个不填默认为0

    $group[9][1]="zs";
    $group[][1]=20;
    $group[][1]='ls';
    $group[][1]=21;
    
    echo '<pre>';
    print_r($group);
    echo '</pre>';

    相关文章

      网友评论

          本文标题:数组

          本文链接:https://www.haomeiwen.com/subject/tpomettx.html