定义数字索引数组

大多数编程语言都支持数字索引数组。在PHP中,数字索引的默认值是从0开始的,当然也可以改变它。要创建一个数组,可以使用如下所示的代码:$products = array("Tires", "Oil", "Spark Plugs");以上代码将创建一个名为$products的数组,它包含3个值:Tires、Oil和Spark Plugs。注意,就像echo语句一样,array()实际上是一个语言结构,而不是一个函数。根据对数组内容的需求不同,可能不需要再像以上例子一样对它们进行手工的初始化操作。如果所需数据保存在另一个数组中,可以使用运算符=简单地将数组复制到另一个数组。

【示例1】如果需要将按升序排列的数字保存在一个数组中,可以使用range()函数自动创建这个数组。如下这行代码将创建一个从1到10的数字数组:$numbers = range(1, 10);range()函数具有一个可选的第三个参数,这个参数允许设定值之间的步幅。例如,如需建立一个1到10之间的奇数数组,可以使用如下代码:$odds = range(1, 10, 2);range()函数也可以对字符进行操作,如下例所示:$letters = range("a", "z");如果信息保存在磁盘文件中,可以从这个文件直接载入到数组中。如果数组中使用的数据保存在数据库中,可以从数据库中直接载入数组。还可以使用不同的函数来提取数组中的一部分数据,或对数组进行重新排序。要访问一个变量的内容,可以直接使用其名称。如果该变量是一个数组,可以使用变量名称和关键字或索引的组合来访问其内容。关键字或索引将指定要访问的变量。索引在变量名称后面用方括号括起来。

【示例2】使用$products[0]、$prod-ucts[1]、$products[2],就可以访问数组$products的内容了。在默认的情况下,0元素是数组的第一个元素。这和C语言、C++、Java以及许多其他编程语言的计数模式是相同的。如果你对这些内容很陌生,就应该先熟悉一下。像其他变量一样,使用运算符=可以改变数组元素的内容。如下代码将使用“Fuses”替换第一个数组元素中的“Tires”。$products[0] = "Fuses" ;而如下代码可以增加一个新的元素“Fuses”到数组末尾,这样,可以得到一个具有4个元素的数组:$products[3] = "Fuses" ;要显示其内容,可以使用如下代码:echo "$products[0] $products[1] $products[2]";

注意:虽然PHP的字符串解析功能非常强大和智能,但是可能会引起混淆。当将数组或其他变量嵌入双引号中的字符串时,如果不能正确解释它们,可以将它们放置在双引号之外。以上的echo语句是没有语法错误的,但是在更复杂的例子中,读者将发现变量被放置在双引号之外更安全。

【示例3】就像PHP的其他变量一样,数组不需要预先初始化或创建。在第一次使用它们时,它们会自动创建。如下代码创建了一个与前面使用array()语句创建的$products数组相同的数组:$products[0] = "Tires";$products[1] = "Oil";$products[2] = "Spark Plugs";如果$products并不存在,第一行代码将创建一个只有一个元素的数组。而后续代码将在这个数组中添加新的数值。数组的大小将根据所增加的元素多少动态地变化。这种大小调整功能并没有在其他大多数编程语言中应用。

【示例4】由于数组使用有序的数字作为索引,所以使用一个for循环就可以很容易地显示数组的内容。for($i = 0; $i < 3; $i++)     echo "$products[$i]";以上循环语句将给出类似于前面的结果,但是,相对于通过手工编写代码来操作一个大数组来说,这样做需要手工输入的代码更少。使用一个简单的循环就可以访问每个元素是数字索引数组的一个非常好的特性。也可以使用foreach循环,这个循环语句是专门为数组而设计的。在这个例子中,可以按如下所示的方式使用它:foreach( $products as $current)     echo "$current";以上代码将依次将$products数组中每个元素的值保存到$current变量中,并且打印它们。

网站建设、网络营销咨询专线:0871-63535511(点击可一键拨号)