PHP经过长时间的发展,很多用户都很了解PHP了,这里我发表一下个人理解,和大家讨论讨论,PHP数组实际上是一个有序图。图是一种把values映射到keys的类型。
#T#此类型在很多方面做了优化,因此你可以把它当成真正的数组来使用,或列表(矢量),散列表(是图的一种实现),字典,集合,栈,队列以及更多可能性。因为可以用另一个PHP数组作为值,也可以很容易地模拟树。解释这些结构超出了本手册的范围,但对于每种结构你至少会发现一个例子。要得到这些结构的更多信息,我们建议你参考有关此广阔主题的外部著作。下面我们就详细的介绍有关PHP数组的相关知识。
PHP数组语法定义array()
可以用array()语言结构来新建一个array。它接受一定数量用逗号分隔的key=>value参数对。
- array([key=>]
- value
- ,...
- )
- //key可以是integer或者string
- //value可以是任何值
- <?php
- $arr=array("foo"=>"bar",12=>true);
- echo$arr["foo"];//bar
- echo$arr[12];//1
- ?>
key可以是integer或者string。如果键名是一个integer的标准表达方法,则被解释为整数(例如"8"将被解释为8,而"08"将被解释为"08")。PHP中数组下标的变量类型不会对数组造成影响,数组的类型只有一种,它可以同时包含整型和字符串型的下标,值可以是任何值。
- <?php
- $arr=array("somearray"=>array(6=>5,13=>9,"a"=>42));
- echo$arr["somearray"][6];//5
- echo$arr["somearray"][13];//9
- echo$arr["somearray"]["a"];//42
- ?>
如果对给出的值没有指定键名,则取当前最大的整数索引值,而新的键名将是该值加一。如果你指定的键名已经有了值,则该值会被覆盖。
- <?php
- //Thisarrayisthesameas...
- array(5=>43,32,56,"b"=>12);
- //...thisarray
- array(5=>43,6=>32,7=>56,"b"=>12);
- ?>