php中数组的操作

作者: 羽翼的翼 | 来源:发表于2019-02-18 11:03 被阅读4次

    数组分为两种类型

    索引数组

    通过索引来操作数组

    1, array(添加数组的成员, 成员类型不限)

    count($arr)  求出数组arr的length长度

    <?php

      $arr=array(1,2,3,true,"abc");

        // 通过索引取值

        echo$arr[4];// "abc"

        echo$arr[3];// 本来应该是true,但是输出为了1

        // php中遍历数组

        // 在php中小数点是拼接字符的意思  这里的length调用错误

        /* for($i = 0; $i < $arr.length; $i++) { */

        // 使用count方法能够计算当前数组的长度

    for($i=0;$i<count($arr);$i++) {

      // 打印每一项的值

      echo$arr[$i]."";// 使内容之间有些距离

        }

        print_r($arr);

        /*

            Array(

                [0] => 1

                [1] => 2

                [3] => 3

                [4] => 1

                [5] => abc

            )

        */

    ?>

    2,中括号的方式 ,[ ]

    // 1.判断当前数组是否已经存在,如果不存在则先创建,再将元素添加到数组第一个元素位置

    // 2.如果数组已经存在,那么就将当前元素添加到数组中--追加

    $suzu[]='abg';

    print_r($suzu);// 输出结果 Array ( [0] => abg )

    关联数组

    1、以键值对的方式描述数据,类似于js中的字面量对象

    2、语法: array(value, value)

    3、获取关联数组中的成员:通过key来获取数组中的成员

    <?php

      $arr=array(

          "name"=>"yiyang",

          "age"=>20,

          "gender"=>true

        );

        echo$arr["gender"];// 1

        // 打印数组,使用print_r( )的方法

        print_r($arr);

    /*

            Array(

                [name] => yiyang

                [age] => 20

                [gender] => 1

            )

        */

        /* 遍历关联数组的方法 */

    遍历关联数组的方法

    /*

        foreach(数组对象 as 键 => 值) {

      ...

        }

    */

        foreach($arras$key=>$value) {

      echo$key.":".$value."</br>";

        }

        /*  => 输出

            name:yiyang

            age:20

            gender:1

        */

        // 简洁语法

        foreach($arras$value) {

    echo$value."</br>";

        }

    ?>

    所有的数组本质上都是关联数组, foreach方法也可以操作索引数组;

    如果通过空的中括号赋值,会自动追加和排序,还会变成混合数组

    操作数组的方法

    1、如果没有设置key 系统会自动生成索引。索引会取到之前的最大索引+1

    2、如果添加元素的时候设置key,那么就没有索引

    $arr3=array(

    1,

    2,

    'name'=>'jack',

    3,

    'age'=>14

      );

    print_r($arr3);

    // 输出结果:

    Array(

    [0]=>1

    [1]=>2

    [name]=>jack

    [2]=>3   

    [age]=>14

    )

    3、count( )  计算数组的长度length

    4、unset( )  使用数组删除某一项会有一点点小问题

    它也可以用来删除数组中的某个成员。但是删除了数组的元素之后,并不会对数组元素的索引产生影响,元素还会保留之前的索引。意味着它只是删除了索引位置的元素,并没有动态的改变数组的长度。

    <?php

      $arr=[1,2,3,4,5];

        print_r($arr);

        unset($arr[2])

    echo'<hr/>';

        print_r($arr);

        /*

            之前: Array([0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5)

            现在: Array([0] => 1 [1] => 2 [3] => 4 [4] => 5)

        */

        // 索引和值都没有,变成了稀疏的了

    ?>

    深度数组 / 二维数组

    <?php

      /* $arr = array(

            1, 2, 3,

          "name" => "tylor",

          array()

        ); */

      // 描述学生对象

      $arr=array(

            // 描述第一个学生对象的数据

          "name"=>array(

        "name"=>"tylor",

      "age"=>20

           ),

          array(

        "name"=>"Bluce",

      "age"=>18

           )

        );

        print_r($arr);

    /* Array(

                [0] => Array(

                        [name] => tylor

                        [age] => 20

                        )

                [1] => Array(

                        [name] => Bluce

                        [age] => 18

                        )

                )

        */

        // 通过嵌套循环输出当前的数组

        foreach($arras$key=>$value) {

      // 二维数组的遍历

      // print_r($value); 两个内层数组

      foreach($valueas$subkey=>$subvalue) {

      echo$subkey.":".$subvalue."<br/>";

      }

        }

        /* ==> 输出

            name:tylor

            age:20

            name:Bluce

            age:18

        */

    ?>

    相关文章

      网友评论

        本文标题:php中数组的操作

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