zoukankan      html  css  js  c++  java
  • PHP数组

    1.数组定义:数组是一组数据,它把一些列数据组织在一起,成为一个可以操作的整体。

            对数组的操作是PHP程序的基本运作。

    2.数组的下标:数组中的每一个数据,都对应一个排列中的持续,因此,我们可以直接利用数据在数组中排列的次序来得到数组中的数据。这个数组数据排列的次序称为数组的下标

            PHP与C语言一样,数组的下标始于0,而不是1。

    3.定义数组:

            定义一个数组,是指定义一个数组的名字和结构。

    3.1 array 数组  PHP使用array()函数来定义数组,数组参数可以有多个,以英文状态下的逗号分隔,最后一个数据后面没有逗号。

    1 $array=array(1,2,3,4,5,"php");
    2 print_r($array);

    显示的是:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => php )

    3.2 当数组的数据中含有数组类型的数据时,该数组则称为:二维数组。

    3.3 数组的下标可以是数字,也可以是字符串,当一个数组数据的下标是字符串的时候,这个下标也叫做

    3.4 运算符 => 用于定义数组元素的值 ,运算符=>可以定义下标,也可以定义数据的值。=> 前面是下标,=>后面是值。

    例如:定义数据下标是8,值是6

    $array=array(1,2,3,4,5,8=>6);
    print_r($array);

    显示:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [8] => 6 )

    3.5 如果定义了两个完全一样的下标,后面的一个下标会覆盖前面的下标。

    例子: 

    $array=array(1,2,3,4,5,8=>6);
    print_r($array);

    显示:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [8] => 6 )   该代码中,下标4的值是5。

    那么,将最后面值为7的这个数据的下标定义为4,按照规则,后面的下标 会覆盖前面的,会出现什么变化呢?

    $array=array(1,2,3,4,5,8=>6,4=>7);
    print_r($array);

     结果显示的是:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 7 [8] => 6 )

    果然下标4的值被定义到7了,而原本下标是4,值为5的数据,则消失了。也就是说,这个下标和它的值,都被后面的下标和值所覆盖了。

    另外一个例子:

    $array=array(1,2,3,4,5,8=>6,4=>7,8,3=>9);
    print_r($array);

    Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 9 [4] => 7 [8] => 6 [9] => 8 )

    3.6 二维数组:

    $items=array(
    "化肥"=> array("硫酸铵","氯化铵","碳酸氢铵","氨水","尿素","硝酸铵"),
    "农药制剂"=>array("毒死蜱","吡虫啉","啶虫脒","戊炔草胺","乙草胺","乙二胺"),
    "农药原药"=>array("多效唑原药","联苯菊酯原药","戊唑醇原药","毒死蜱原药","精喹禾灵原药","瑞毒霉原药")
    );
    print_r($items);

    显示:
    Array (

    [化肥] => Array ( [0] => 硫酸铵 [1] => 氯化铵 [2] => 碳酸氢铵 [3] => 氨水 [4] => 尿素 [5] => 硝酸铵 )

    [农药制剂] => Array ( [0] => 毒死蜱 [1] => 吡虫啉 [2] => 啶虫脒 [3] => 戊炔草胺 [4] => 乙草胺 [5] => 乙二胺 )

    [农药原药] => Array ( [0] => 多效唑原药 [1] => 联苯菊酯原药 [2] => 戊唑醇原药 [3] => 毒死蜱原药 [4] => 精喹禾灵原药 [5] => 瑞毒霉原药 )

    )

    为数据定义新的键值:

    $items=array(
    "化肥"=> array("硫酸铵","氯化铵","碳酸氢铵","氨水","尿素","硝酸铵"),
    "农药制剂"=>array("1号农药制剂"=>"毒死蜱","1号农药制剂"=>"吡虫啉","啶虫脒","戊炔草胺","乙草胺","乙二胺"),
    "农药原药"=>array("多效唑原药",1000000000=>"联苯菊酯原药","戊唑醇原药","毒死蜱原药","精喹禾灵原药","瑞毒霉原药")
    );
    print_r($items);

    Array ( [化肥] => Array ( [0] => 硫酸铵 [1] => 氯化铵 [2] => 碳酸氢铵 [3] => 氨水 [4] => 尿素 [5] => 硝酸铵 ) [农药制剂] => Array ( [1号农药制剂] => 吡虫啉 [0] => 啶虫脒 [1] => 戊炔草胺 [2] => 乙草胺 [3] => 乙二胺 ) [农药原药] => Array ( [0] => 多效唑原药 [1000000000] => 联苯菊酯原药 [1000000001] => 戊唑醇原药 [1000000002] => 毒死蜱原药 [1000000003] => 精喹禾灵原药 [1000000004] => 瑞毒霉原药 ) )

    3.7 三维数组

    $items=array(
    "化肥"=> array("硫酸铵","氯化铵","碳酸氢铵","氨水","尿素","硝酸铵"),
    "农药制剂"=>array("1号农药制剂"=>"毒死蜱","1号农药制剂"=>"吡虫啉","啶虫脒","戊炔草胺","乙草胺","乙二胺"),
    "农药原药"=>array("多效唑原药",1000000000=>"联苯菊酯原药","戊唑醇原药","毒死蜱原药","精喹禾灵原药","瑞毒霉原药"),
    "农药中间体"=>array("苯甲酰脲类农药中间体"=>array("2,6-二氟苯甲酰胺","3,5-二氯苯甲酰氯","苯甲酰腈"),"间氟甲苯")
    );
    print_r($items);

    Array (

    [化肥] => Array ( [0] => 硫酸铵 [1] => 氯化铵 [2] => 碳酸氢铵 [3] => 氨水 [4] => 尿素 [5] => 硝酸铵 )

    [农药制剂] => Array ( [1号农药制剂] => 吡虫啉 [0] => 啶虫脒 [1] => 戊炔草胺 [2] => 乙草胺 [3] => 乙二胺 )

    [农药原药] => Array ( [0] => 多效唑原药 [1000000000] => 联苯菊酯原药 [1000000001] => 戊唑醇原药 [1000000002] => 毒死蜱原药 [1000000003] => 精喹禾灵原药 [1000000004] => 瑞毒霉原药 )

    [农药中间体] => Array (

         [苯甲酰脲类农药中间体] => Array (

             [0] => 2,6-二氟苯甲酰胺 [1] => 3,5-二氯苯甲酰氯 [2] => 苯甲酰腈 )

         [0] => 间氟甲苯 )

    )

    说明:绿色标记部分为第三维数组。

    书签: 50页 3.3.2 完

  • 相关阅读:
    问题:https与http有什么区别啊?
    Android应用开发是否应避免使用枚举?
    AppStore 内购验证的方法
    vs2017环境下编译log4cpp-1.1.3
    iphone开发笔记
    系统界面跳转设置[转]
    常用宏OC
    git忽略文件
    第三方开源库学习
    [转]iOS开发总结之代码规范
  • 原文地址:https://www.cnblogs.com/4php/p/2695081.html
Copyright © 2011-2022 走看看