zoukankan      html  css  js  c++  java
  • php中的数组

    0x01.数组的定义与类型

    如何定义数组?
    一般都是使用 array() 函数定义的数组

    <?php
    $arr = array('jsp','asp','php');
    print_r($arr);
    ?>
    

    输出结果
    数组的两种类型
    数组类型分
    1.索引数组
    2.关联数组

    索引数组,其实就是全名叫 数字索引数组,顾名思义
    就是以数字索引的数组,也就是上面那串代码定义的,就索引数组
    (在PHP中,数组的值第一位是 0)

    关联数组,也很简单,数组其实就是由键值组成的,与python中的字典相似,关联数组其实就是我们自定义的键

    <?php
    $arr = array('name'=>'young','old'=>'17','from'=>'中国');
    print_r($arr);
    ?>
    

    输出结果
    这样看的话可能不是很清楚,我们可以直接查看源代码,看起来不会懵逼

    这样其实就是关联数组,而直接使用array定义的就是的 索引数组,第一位是0,觉得很麻烦。也可以这样定义,把第一位定义成 1

    0x02. 一维数组、二维数组 与 多维数组

    <?php
    $arr1 = array('young','17','中国');	//一维数组
    print_r($arr1);						//输出数组
    echo "<br>";
    //定义二维数组
    $arr2 = array(
    'name'=>array('张三','李四','王五'),
    'old'=>array('20','21','23'),
    );
    print_r($arr2);//输出数组
    ?>
    

    上面定义的其实就是一维数组,其实听着很高大尚,其实就是跟嵌套差不多
    在一个数组中嵌套这另外一个数组
    输出结果对比
    这样就更容易的对比了,我们也可以查看源代码,这样看起来舒服
    查看源代码

    然后我们继续在数组中嵌套一层就是 三维数组,几层嵌套,就是几层数组,但是建议不要太多

    0x03.数组遍历

    1)for循环遍历数组

    <?php
    $arr = array(1,'张三',"a公司","北京市","(010)987654321","gao@qq.com");
    for($i=0;$i < count($arr);$i++){
    	echo $arr[$i]."   ";
    }
    ?>
    

    源代码
    我们依旧右键点击查看源代码
    其实for循环主要是通过 $arr[$i]
    首先定义一个一维数组,然后使用for循环,初始值为0,count()就是判断数组的长度,有几个值,这里的话是从1开始算的,每遍历一次就 加1.

    它先是 执行 $i=0,
    然后代入 $arr[0] 就输出了1,然后 i 加 1。判断是否小于数组的值,然后再次循环...
    直到 i 为6时,才停止循环。因为 6 不可能小于 6。
    对于多维数组的遍历,只需要多加一个for循环即可

    2)foreach() 遍历数组

    foreach()遍历有2种形式
    第一种:

    $arr = array('baidu','taobao','google');
    foreach($arr as $value){
    	循环体
    }
    

    第二种:

    $arr = array('baidu','taobao','google');
    foreach($arr as $key => $value){
    	循环体
    }
    

    ①.第一种解释
    其实第一种遍历的是数组里面的值

    <?php
    $arr = array("baidu","taobao","google");
    foreach($arr as $value){
    	print_r($arr);
    	echo '$value为:'.$value."<br>";
    }
    ?>
    

    我其实不用 print_r 的,但是为了清楚
    首先foreach($arr as $value)
    $arr 其实就是一维数组里面的内容,而变量$value 其实就是数组中的值,也就是说,$arr as $value 其实就是遍历数组中的内容,把 $arr 中的内容,赋值给 value

    至于 $value 可以自定义命名的

    ②第二种解释:

    <?php
    $arr = array('baidu','taobao','google');
    foreach($arr as $key => $value){
    	echo $key.'=>'.$value."<br>";
    }
    ?>
    

    其实就是把键也给遍历了,并且赋值给了 key

    0x04.字符串与数组转换

    1. 将字符串变为数组 explode()

    <?php
    $arr = 'baidu,taobao,google';
    $array = explode(',',$arr);
    print_r($array);
    ?>
    

    其实这里就是分割,这边是逗号,然后我们就以逗号分割,分割的时候
    它会返回数组(这里也就是分割)

    2. 将数组变为字符串 implode()

    <?php
    $arr = array('baidu','taobao','google');
    $str = implode(',',$arr);
    echo $str;
    ?>
    

    implode('符号',str)
    看上面这个就知道了,符号就是说,要用什么分割

    0x05.数组的一些操作

    1)统计数组个数 count()
    <?php
    $arr = array('baidu','taobao','google');
    $str = count($arr);
    echo $str;
    ?>
    

    然后这里的话就是,使用count函数,如果要统计多维数组呢?

    <?php
    $arr = array(
    'baidu'=>array('www.baidu.com'),
    'taobao'=>array('www.taobao.com'),
    'google'=>array('www.google.com')
    );
    $str = count($arr,1);
    echo $str;
    ?>
    

    这里只需要在count() 函数添加一个 1 参数就可以了

    2)数组中的 "增" array_push()

    使用 array_push(add,add_var)

    <?php
    $arr = array('baidu','taobao','google');
    array_push($arr,'boke','baidu');
    print_r($arr);
    ?>
    

    成功的把boke和baidu添加进去了

    3) 数组中的 "删" array_unique()

    这时候我们看上面似乎多添加了一个百度

    <?php
    $arr = array('baidu','taobao','google');
    array_push($arr,'boke','baidu');
    print_r($arr); 
    //上面是添加,下面删除重复值
    $del = array_unique($arr);
    print_r($del);
    ?>
    

    array_search(var,array,strict): 查找 值 返回键
    var :是我们需要查找的值
    array:是指定被我们查询的数组
    strict:是可选参数,当参数为 true时,还会给数组中检查给定值得类型

    这个函数是查找指定的值,然后返回键,如果没有查找到的话返回 null,不是flase

    <?php
    $arr = array('baidu','taobao','google');
    $result = array_search('taobao',$arr);
    print_r($result);
    ?>
    

    查找到值返回键名
    没有查找到值

    ②通过键查找 值

    <?php
    $arr = array('baidu','taobao','google');
    echo $arr[0]
    ?>
    

    这样就可以查找到了

    5) 数组中的 "改"
    <?php
    $arr = array('baidu','taobao','google');
    $arr[0] = "boke";
    print_r($arr);
    ?>
    

    这里的修改,其实就是在查询的基础上 重新赋值一下就可以了

    数组的的一些其他操作

    获取数组的最后一个元素 array_pop()
    array_pop 函数返回数组的最后一个值,并且数组长度减 1,如果数组为空,或者不是数组,则返回 null

    array_pop(array)
    这里的array 其实就是 定义的那个要获取的数组

    <?php
    $arr = array('baidu','taobao','google');
    $array = array_pop($arr);
    print_r($arr);
    echo "<br> 被弹出的函数:$array";
    ?>
    

    除了上面这些常用的操作,还有 联合使用 list(),each(),while() 遍历数组

  • 相关阅读:
    事后诸葛亮
    团队作业6--展示博客(Alpha版本)
    团队作业5——测试与发布(Alpha版本)
    团队作业2:需求分析&原型设计
    团队编程作业1-团队展示与选题
    结对编程1
    TeamViewer app案例分析
    第一次作业--四则运算
    【Alpha】Daily Scrum Meeting 集合贴
    【Alpha】Daily Scrum Meeting——Day3
  • 原文地址:https://www.cnblogs.com/0x7e/p/14462989.html
Copyright © 2011-2022 走看看