摘要: [PHP数组1]什么是PHP数组,每个实体包含两个项:前面提到的健(key )和值(value )。可以通过查询键来获取其相应的值。这些键可以是数值(numerical) 健或关联(associative)健。
一.数组的概念
[PHP数组1]什么是PHP数组
传统上把数组(array)定义为一组有某种共同特性的元素,这里的共同特性包括相似性(车模、棒球队、水果类型等)和类型(例如所有元素都是字符串或整数)等,每个元素由一个特殊的标识符来区分,这称为健(key )。请注意,上面这句话中的传统上一词,因为现在可以摒弃这种定义,数组结构中可以包括完全无关的元素。PHP 则更进一步,数组中的元素甚至可以不属于同一种类型。例如,一个数组可能包含州名、邮政编码、考试成绩或扑克牌等元素。
每个实体包含两个项:前面提到的健(key )和值(value )。可以通过查询键来获取其相应的值。这些键可以是数值(numerical) 健或关联(associative)健。数值键与值没有真正的联系,它们只是值在数组中的位置。例如,一个数组中包含按字母顺序排列的美国州名,键O 表示Alabama(阿拉巴马州),键49 表示wyoming(怀俄明州)。使用PHP语法,该数组如下:
| $states=array(0=>"Alabama","1"=>"Alaska"..."49"=>"Wyoming"); |
使用数组索引,可以如下引用第一个州(Alabama)
注解:PHP的数值索引组以位置0起始,而不是1.
与此不同的是,关联键与值有一定关系,而不是值在数组中的位置。使用数值索引值不可行时,以关联的方式来映射数组会特别方便.例如,你可能希望创建一个将州缩写映射到州名的数组,如OH/Ohio、PA/Pennsylvania和NY/New York。使用PHP 语法,该数组如下:
| $states=array("OH"=>"Ohio","PA"=>"Pennsylvan1a","NY"=>"New York"); |
可以如下引用Ohio :
还可以创建包含数组的数组,这称为多维数组(multidimensional arrays)。例如,可以使用一个多维数组存储美国各州的信息。使用PHP 语法,该数组如下:
$states=array(
"Ohio"=>array("population"=>"11,353,140","capital"=>"Columbus"),
"Nebraska"=>array("population"=>"1,711,263","capital"=>"Omaha")
); |
然后可以如下引用Onio 的入口:
| $states["Ohio"]["population"]; |
这将返回以下值:
你自然会想知道遍历数组的方法。PHP 提供了很多遍历数组的方法。无论使用哪一种方法,要记住,它们都依赖于一种称为数组指针(array pointer )的特性。数组指针就如同书签,告诉你正在检查的数组位置。你并不是直接操作数组指针,而是使用内置的语言特性或函数来遍历数组。但是,理解这个基本概念很有用。