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://www.cnblogs.com/4php/p/2695081.html