详解PHP对数组的定义以及数组的创建方法
php  /  管理员 发布于 7年前   141
传统上把数组(array)定义为一组有某种共同特性的元素,这里的共同特性包括相似性(车模、棒球队、水果类型等)和类型(例如所有元素都是字符串或整数)等,每个元素由一个特殊的标识符来区分,这称为健(key)。请注意,上面这句话中的传统上一词,因为现在可以摒弃这种定义,数组结构中可以包括完全无关的元素。PHP则更进一步,数组中的元素甚至可以不属于同一种类型。例如,一个数组可能包含州名、邮政编码、考试成绩或扑克牌等元素。 每个实体包含两个项:前面提到的健(key)和值(value)。可以通过查询键来获取其相应的值。这些键可以是数值(numerical) 健或关联(associative)健。数值键与值没有真正的联系,它们只是值在数组中的位置。例如,一个数组中包含按字母顺序排列的水果名,键0表示apple,键2表示pear。使用PHP语法,该数组如下: 使用数组索引,可以如下引用第一个元素(apple): PHP的数值索引组以位置0起始,而不是1。 与此不同的是,关联键与值有一定关系,而不是值在数组中的位置。使用数值索引值不可行时,以关联的方式来映射数组会特别方便。例如,你可能希望创建一个将水果缩写映射到水果名的数组,如AP/apple、BA/banana和PE/Pear。使用PHP语法,该数组如下: 可以如下引用apple: 还可以创建包含数组的数组,这称为多维数组(multidimensional arrays)。例如,可以使用一个多维数组存储水果的信息。使用PHP语法,该数组如下: 然后可以如下引用apple的color: 这将返回以下值: 你自然会想知道遍历数组的方法。PHP提供了很多遍历数组的方法。无论使用哪一种方法,要记住,它们都依赖于一种称为数组指针(array pointer)的特性。数组指针就如同书签,告诉你正在检查的数组位置。你并不是直接操作数组指针,而是使用内置的语言特性或函数来遍历数组。但是,理解这个基本概念很有用。 要引用PHP数组中的各个元素,可以用一对中括号来指示。因为数组没有大小限制,所以只需建立引用就可以创建数组,例如: 然后,可以如下显示数组$fruits的第一个元素: 接下来,可以为数组索引映射新值,从而添加其他的值,如下: 有趣的是,如果认为索引值是数组索引而且是递增的,还可以在创建时省略索引值: 用这种方式创建关联数组也同样很简单,只不过必须一直使用键。下面的实例创建了一个数组,它将水果映射到其颜色: 使用array()创建数组 array()函数接受0个或多个元素作为输入,返回一个包含这些收入元素的数组。其形式如下: 下面是一个使用array()创建索引数组的例子: 还可以使用array()创建一个关联数组,如下:$fruits = array( "0"=>"apple", "1"=>"banana" "2"=>"pear" );
$fruits[0]
$fruits = array( "AP"=>"apple", "BA"=>"banana", "PE"=>"pear" );
$fruits["AP"];
$fruits = array( "apple"=>array( "name"=>"apple", "color"=>"red" ), "banana"=>array( "name"=>"banana", "color"=>"yellow" ));
$states["apple"]["color"];
red
数组是PHP最重要的数据结构之一,数组在PHP的用处很广泛。与其他很多语言的数组实现方式不同,PHP不需要在创建数组时指定其大小。事实上,因为PHP是一种松散类型的语言,所以甚至不需要在使用数组前先行声明,尽管没有限制,PHP仍提供了正式和非正式的数组声明方法。两个方法各有优点,都值得学习。下面将分别讨论这两种方法,首先来介绍非正式的方法。$fruits[0] = "apple";
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 array([item1,[,item2…[,itemN]]])
$fruits = array("apple","banana","pear");
$fruits = array( "AP"=>"apple", "BA"=>"banana", "PE"=>"pear" );
您可能感兴趣的文章:
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号