zoukankan      html  css  js  c++  java
  • PHP入门之数组

    前言

    之前几篇文章分别介绍了PHP的运算符,流程控制,函数。有兴趣的可以去看看。
    PHP入门之类型与运算符
    PHP入门之流程控制
    PHP入门之函数
    接下来简单介绍一下数组。

    数组初探

    为什么要引进数组,因为如果有一个需求,有好几十个数据需要统计,计算,如果不用数组,那么就要定义好几十个变量,这样是不合理的。所以引进了数组的概念。
    下面用一个案例入门:如果现在有6个数据,要求他们的和还有平均数。这里使用数组。
    代码如下:

    <?php
    $sums[0]=10;
    $sums[1]=11;
    $sums[2]=12.6;
    $sums[3]=24;
    $sums[4]=56;
    $sums[5]=28;
    $allsums=0;  #count系统函数是用来统计数组个数的。
    for ($i=0;$i<count($sums);$i++){      #这里使用for循环遍历数组,也可以while循环和do while 循环,都可以。
        echo '<br/>'.$sums[$i];          # 但是使用这三个循环遍历,键值不能改,默认的0、1、2等等,只能是数字
        $allsums+=$sums[$i];             # 如果想自定义键值,那么就要使用foreach()来遍历数组。
    }
    echo '<br/>'.$allsums;  #求总数
    echo '<br/>'.$allsums/count($sums);  #求平均数
    ?>
    

    理清楚几个概念,用$sums[0]=10来举例
    [0] 这个我们叫下标或者关键字。
    $sums[0] 这个我们叫做数组的一个元素。
    10 这个我们叫做$sums[0]对应的值。
    $sums 这个叫做数组的名称。
    还有就是元素存放的值可以是任何数据类型。
    举个例子

    <?php
    $arr[0]=123;
    $arr[1]=34.789;
    $arr[2]="hello";
    
    for($i=0;$i<count($arr);$i++){       #可以正常输出 : 123 34.789  hello  
    
    echo '<br/>'.$arr[$i];
    }
    ?>
    

    第二种创建数组的方法。
    举个例子

    <?php
    $arr=array(123,34.789,"hello");
    
    for ($i=0;$i<count($arr);$i++){
        echo '<br/>'.$arr[$i];             #可以正常输出 : 123 34.789  hello  
    }
    ?>
    

    第三种方法创建数组的方法
    举个例子:

    $arr['logo']="123";
    $arr['haha']=34.789;
    $arr['qqq']="hello";
    

    或者
    $arr=array("logo"=>123,"haha"=>34.789,"qqq"=>"hello");
    这样的话遍历就用foreach()用来遍历。
    代码如下

    foreach ($arr as $key=>$val){
        echo "<br/>$key=$val";
    }
    

    数组中键对应的值可以修改,例子如下:

    $arr=array("logo"=>123,"haha"=>34.789,"qqq"=>"hello");
    $arr['logo']="lxf";
    foreach ($arr as $key=>$val){
        echo "<br/>$key=$val";
    
    }
    echo '<br/>'.$arr['logo'];
    

    我们可以用print_r()或者var_dump()来显示这个数组。
    上面的例子显示如下:
    Array ( [logo] => lxf [haha] => 34.789 [qqq] => hello )
    array(3) { ["logo"]=> string(3) "lxf" ["haha"]=> float(34.789) ["qqq"]=> string(5) "hello" }
    如果一个数组为$arr=array(11,33,44);
    我们输出 echo $arr[3];因为没有这个键值,所以会报一个错误,在php中不算致命错误,其他比如Java是致命错误, 这个错误叫数组越界
    php语言中,数组可以动态增长,举个例子。

    $arr=array(4,7,9);
    $arr[3]=466;
    echo $arr[3];
    

    在这个例子中,会输出466,不会报错。
    与PHP数组相关的几个重要函数
    (1)count函数
    统计数组元素个数
    (2)is_array函数
    用来确定是不是数组,举个例子。

    $arr=array(12,34,24);
    echo is_array($arr);
    #这里会返回1为真。如果
    $arr=123;
    echo is_array($arr);
    #这里会返回空,为假。
    

    (3)拆分字符串explode("按照什么拆分",字符串),举个例子

    $str="老大,老二,老三,老四";
    $arr=explode(",",$str);
    print_r($arr);
    

    输出结果为:

    #由字符串变为数组了。
    Array ( [0] => 老大 [1] => 老二 [2] => 老三 [3] => 老四 ) 
    

    如果要删除某个元素的键-值对需要使用unset()函数,需要注意的是,删除后不会重新建立索引。举个例子:

    $arr=array(1,2,5,8);
    unset($arr[2]);
    print_r($arr);
    

    输出结果为:
    unset也可以销毁某个变量
    Array ( [0] => 1 [1] => 2 [3] => 8 )
    可以同时删除多个

    $arr=array(1,2,5,8);
    unset($arr[2],$arr[3]);
    print_r($arr);
    

    输出结果为:
    Array ( [0] => 1 [1] => 2 )
    数组运算符
    $a + $b 联合 $a 和 $b 的联合。
    $a == $b 相等 如果 $a 和 $b 具有相同的键/值对则为 TRUE。
    $a === $b 全等 如果 $a 和 $b 具有相同的键/值对并且顺序和类型都相同则为 TRUE。
    $a != $b 不等 如果 $a 不等于 $b 则为 TRUE。
    $a <> $b 不等 如果 $a 不等于 $b 则为 TRUE。
    $a !== $b 不全等 如果 $a 不全等于 $b 则为 TRUE。

    • 运算符把右边的数组元素附加到左边的数组后面,两个数组中都有的键名,则只用左边数组中的,右边的被忽略。

    实例

    要求:将输入的数据全部输出,并求平均值。

    array1.php
    <html>
    <head>
        <title>数组练习</title>
        <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
    </head>
    <body>
    <h1>输入6个数据,空格隔开</h1>
    <form action="array2.php" method="post">
        <input type="text" name="sum">
        <input type="submit" value="提交">
    </form>
    </body>
    </html>
    

    array2.php

    <?php
    $sums=$_POST['sum'];
    $arr=explode(" ",$sums);
    $allarr=0;
    foreach ($arr as $key=>$val){
        $allarr+=$val;
        #遍历数组
       echo '<br/>'."第"."$key"."=".$val;
    }
    #求总数
    echo '<br/>'."总和=".$allarr;
    #求平均值
    echo '<br/>'."平均数=".round($allarr/count($arr),2);
    ?>
    <br/><a href="array1.php">返回初页面</a>
    

    下面输入13 34 67 89 89 27 结果如下图:

    小结

    上面对数组进行了简单的介绍,希望对大家有所帮助。

  • 相关阅读:
    python3中的匿名函数
    python3拆包、元组、字典
    python3函数中的不定长参数
    python3中的缺省参数和命名参数
    python3字符串的常见操作
    用python使用Mysql数据库
    Git常用命令
    Linux下配置Nginx(在root的/etc/rc.local里配置开机启动功能http://tengine.taobao.org/)
    大数据项目中js中代码和java中代码(解决Tomcat打印日志中文乱码)
    java中时间
  • 原文地址:https://www.cnblogs.com/lxfweb/p/13443745.html
Copyright © 2011-2022 走看看