详解PHP对数组的定义以及数组的创建方法
《PHP实战:详解PHP对数组的定义以及数组的创建方法》要点: 传统上把数组(array)定义为一组有某种共同特性的元素,这里的共同特性包括相似性(车模、棒球队、水果类型等)和类型(例如所有元素都是字符串或整数)等,每个元素由一个特殊的标识符来区分,这称为健(key).请注意,上面这句话中的传统上一词,因为现在可以摒弃这种定义,数组结构中可以包括完全无关的元素.PHP则更进一步,数组中的元素甚至可以不属于同一种类型.例如,一个数组可能包含州名、邮政编码、考试成绩或扑克牌等元素.PHP实例 每个实体包含两个项:前面提到的健(key)和值(value).可以通过查询键来获取其相应的值.这些键可以是数值(numerical) 健或关联(associative)健.数值键与值没有真正的联系,它们只是值在数组中的位置.例如,一个数组中包含按字母顺序排列的水果名,键0表示apple,键2表示pear.使用PHP语法,该数组如下: $fruits = array( "0"=>"apple","1"=>"banana" "2"=>"pear" ); 使用数组索引,可以如下引用第一个元素(apple): $fruits[0] PHP的数值索引组以位置0起始,而不是1.PHP实例 与此不同的是,关联键与值有一定关系,而不是值在数组中的位置.使用数值索引值不可行时,以关联的方式来映射数组会特别方便.例如,你可能希望创建一个将水果缩写映射到水果名的数组,如AP/apple、BA/banana和PE/Pear.使用PHP语法,该数组如下:PHP实例 $fruits = array( "AP"=>"apple","BA"=>"banana","PE"=>"pear" ); 可以如下引用apple: $fruits["AP"]; 还可以创建包含数组的数组,这称为多维数组(multidimensional arrays).例如,可以使用一个多维数组存储水果的信息.使用PHP语法,该数组如下: $fruits = array( "apple"=>array( "name"=>"apple","color"=>"red" ),"banana"=>array( "name"=>"banana","color"=>"yellow" ) ); 然后可以如下引用apple的color: $states["apple"]["color"]; 这将返回以下值: red 你自然会想知道遍历数组的方法.PHP提供了很多遍历数组的方法.无论使用哪一种方法,要记住,它们都依赖于一种称为数组指针(array pointer)的特性.数组指针就如同书签,告诉你正在检查的数组位置.你并不是直接操作数组指针,而是使用内置的语言特性或函数来遍历数组.但是,理解这个基本概念很有用.PHP实例
要引用PHP数组中的各个元素,可以用一对中括号来指示.因为数组没有大小限制,所以只需建立引用就可以创建数组,例如: $fruits[0] = "apple"; 然后,可以如下显示数组$fruits的第一个元素: echo $fruits[0] = "apple"; 接下来,可以为数组索引映射新值,从而添加其他的值,如下: $fruits[1] = "banana"; $fruits[2] = "pear"; 有趣的是,如果认为索引值是数组索引而且是递增的,还可以在创建时省略索引值: $fruits[] = "apple"; $fruits[] = "banana"; $fruits[] = "pear"; 用这种方式创建关联数组也同样很简单,只不过必须一直使用键.下面的实例创建了一个数组,它将水果映射到其颜色: $fruits["apple"] = "red"; $fruits["banana"] = "yellow"; $fruits["pear"] = "yellow"; 使用array()创建数组PHP实例 array()函数接受0个或多个元素作为输入,返回一个包含这些收入元素的数组.其形式如下: array array([item1,[,item2…[,itemN]]]) 下面是一个使用array()创建索引数组的例子: $fruits = array("apple","banana","pear"); 还可以使用array()创建一个关联数组,如下: $fruits = array( "AP"=>"apple","PE"=>"pear" ); 《PHP实战:详解PHP对数组的定义以及数组的创建方法》是否对您有启发,欢迎查看更多与《PHP实战:详解PHP对数组的定义以及数组的创建方法》相关教程,学精学透。编程之家 52php.cn为您提供精彩教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |