zoukankan      html  css  js  c++  java
  • php学习-数组(一)

    数组函数可以对大量性质相同的数据进行存储,排序,插入及删除等操作。

    学习任务:

    声明数组,输出数组,遍历数组,查询数组中指定元素,获取数组中的最后一个元素。

    删除数组中重复的元素。统计数组中元素的个数。

    7.2数组的命名规则

    (1)数组的名称由一个美元符号开始,第一个字符是字母或者下划线。

    (2).标量变量和数组变量不能重名。

    (3).数组名称区分大小写。

    7.2.1.用户创建数组

    <?php

    $array[0]="php宝典";

    $array[1]="java编程宝典";

    $array[2]="VC编程宝典";

    print_r($array);

    ?>;

    7.2.2应用函数创建数组

    (1).Php中常用的数组函数是array()

    应用array()函数定义数组时,可以在函数体中只能给出数组元素值,而不必给出键值。

    数组中的索引(key)可以是字符串或数字。如果省略了索引,会自动产生从0开始的整数索引。如果索引是整数,则下一个产生的索引是目前最大的整数索引+1.如果定义了两个完全相同的索引,则后面一个会覆盖前一个。

         数组中的个数据元素的数据类型可以不同,也可以是数组类型。

    Eg:

    <?php

    $string_arr =array("PHP"=>"php","JSP"=>"jsp");

    print_r($string_arr);

    ?>

    Eg结果:

    Array ( [PHP] => php [JSP] => jsp )

     

     

     

    7.2.3创建二维数组

    利用函数:

    Eg:

    <?php

    $str_arr = array(

           "三国演义"=>array("刘备","曹操","孙权")

          ,"西游记"=>array("孙悟空","猪八戒","沙和尚")   

          ,"水浒传"=>array("宋江","吴用","林冲")      

           );

    print_r($str_arr);

    ?>

    Eg结果:

    Array ( [三国演义] =>Array ( [0] => 刘备 [1] => 曹操 [2] => 孙权 ) [西游记] => Array ( [0] => 孙悟空 [1] => 猪八戒 [2] => 沙和尚 ) [水浒传] => Array ( [0]=> 宋江 [1] => 吴用 [2] => 林冲 ) )

     

    7.3数组的类型。
    7.3.1.数组分为两种:数字索引数组和关联数组

    (1).数字索引数组

    数字索引数组的下标有数字组成,默认是0开始,每个数字对应数组元素中的位置。

    数组中每个实体都包含两项:键和值,可以通过相应的键值拿到对应的数组元素。

    (2).关联数组

    如果一个数组的项的键不是数字,关联数组下标使用字符串和数值混合形式形成。那么这个数组就是关联数组。

    7.4遍历输出数组
    7.4.1遍历数组

    1.foreach遍历数组

    Eg:

    <?php

    $str_arr = array(

          "三国演义"=>array("刘备","曹操","孙权")

         ,"西游记"=>array("孙悟空","猪八戒","沙和尚")   

         ,"水浒传"=>array("宋江","吴用","林冲")      

           );

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

                        echo "<br>";

                        print($key);

                        foreach($str_arr[$key] as$key1=>$value1){

                            echo  $str_arr[$key][$key1];

                        };

          };

    ?>

    Eg结果:

    三国演义刘备曹操孙权
    西游记孙悟空猪八戒沙和尚
    水浒传宋江吴用林冲

    (2)通过数组函数list()和each()遍历数组

    List()函数将数组中的值赋给一些变量。、

    Each()函数返回数组中当前指针位置的键名和对应的值,并向前移动数组指针。

    遍历方法:

    首先应用each()函数获取数组中当前元素的键名和值,然后将返回的数组元素通过list()函数赋给指定的变量。最后通过while语句进行输出。

    Eg:

    <?php

    $str_arr= array(

           "三国演义"=>array("刘备","曹操","孙权")

          ,"西游记"=>array("孙悟空","猪八戒","沙和尚")   

          ,"水浒传"=>array("宋江","吴用","林冲")      

           );

           while(list($key,$value)=each($str_arr)){

               echo "$key".":";

               print_r($value);

               echo "<br>";

           };

    ?>

    Eg结果:

    三国演义:Array ( [0] => 刘备 [1] => 曹操 [2] => 孙权 )
    西游记:Array ( [0] => 孙悟空 [1] => 猪八戒 [2] => 沙和尚 )
    水浒传:Array ( [0] => 宋江 [1] => 吴用 [2] => 林冲 )

    (3).通过for循环语句遍历数组中的元素

    Eg:

    <?php

    $str_arr= array(

               0=>array("刘备","曹操","孙权")

              ,1=>array("孙悟空","猪八戒","沙和尚")   

              ,2=>array("宋江","吴用","林冲")      

           );

     

           for($i = 0;$i < count($str_arr);$i++)

           {

                for($j = 0;$j <count($str_arr[$i]);$j++)

                {

                   echo $str_arr[$i][$j];

                }

                echo "<br>";

            }

    ?>

    Eg结果:

    刘备曹操孙权
    孙悟空猪八戒沙和尚
    宋江吴用林冲

     

    (4)输出数组元素

    其他的可以进行数组输出的函数就是print_r和echo

     

    7.5数组函数
    7.5.1统计数组元素个数

    (1).int  count(array);

    7.5.2向数组中添加元素

      Intarray_push(array array,mixed var,[]);

    参数array为指定的数组,参数var是压入数组中的值。

    7.5.3获取数组中最后一个元素

    array_pop(array array);

    7.5.4删除数组中的重复元素

    Array_unique();函数。将值作为字符串进行排序,然后对每个值只保留第一个键名,忽略所有后面的键名。

    Eg:

    <?php

    $array = array('第一个元素','第二个元素','第三个元素','第四个元素','第四个元素');

    print_r($array);

    $array = array_unique($array);

    print_r($array);

    ?>

    Eg结果:

    Array ( [0] => 第一个元素 [1] => 第二个元素 [2] => 第三个元素 [3] => 第四个元素 [4] => 第四个元素 )

    Array ( [0] => 第一个元素 [1] => 第二个元素 [2] => 第三个元素 [3] => 第四个元素 )

    7.5.5 获取数组中指定元素的键名

     array_search(要搜索的值,搜索的数组,是否检查这个搜索值的类型)函数,

     这里不能返回多个键值,而只是返回第一要搜索值的键值。

    array_keys (array array,mixed value,[,boolstrict])

    这里可以返回相同值的所有的键名;


     



  • 相关阅读:
    Ubuntu更新Hostname和hosts
    Github 的其他用法
    Git与Github使用
    【实习】实习期间一些工具的使用
    【实习】实习第一周周报
    QT_string转char*
    QT_获取正在运行程序的进程id(判断程序是否正在运行)
    QT_获取运行进程所在目录路径_2
    QT_获取运行进程所在目录路径_1
    QT_强杀进程
  • 原文地址:https://www.cnblogs.com/wang3680/p/1dc41169fa4871c23d7ca5519b412a15.html
Copyright © 2011-2022 走看看