5.1建立数组的方法
5.1 建立数组的方法
在第2章介绍数据类型时,已经介绍过建立数组的方法。本节将对建立数组的方法做进一步的说明。
5.1.1 使用array()函数新建数组
使用PHP的array()语言结构可以创建一个数组,例如代码如下。
$ms_office = array( “word ”, ”excel ”, ”outlook ”, ”access ”);
上述代码创建了一个名叫$ms_office的数组,它包含4个单元,每个单元存储1个值,这些值是word、excel、outlook和access,这些值也被称为数组元素。注意,这里的array()不是函数,它只是PHP的语言结构。
提示 可以通过数组索引来访问数组元素,数组元素的索引默认从0开始。例如要访问数组$ms_office的第1个元素,可以使用$ms_office[0],以此类推,可以访问该数组中的其他元素。
数组的索引又叫“键值”或者“下标”。使用“=>”运算符,可以为数组指定索引和值。它的语法格式是“索引=>值”,每对“索引=>值”之间使用逗号“,”分开。如下代码即使用“=>”为数组指定索引和值。
$ms_office = array(
0=>"word"
1=>"excel",
2=>"outlook",
3=>"access");
这行代码指定数组的索引是整数。数组的索引还可以是字符串,用字符串做索引的数组叫做“关联数组”。如下代码指定数组元素的索引为字符串。
$ms_office = array(
"wd"=>"word",
"ec"=>"excel",
"ol"=>"outlook",
"ac"=>"access");
譬如此时要访问数组元素“access”,可以使用索引"ac",即通过$ms_office["ac"]来访问数组元素“access”。如果省略指定索引,PHP会为数组产生从0开始的整数索引。如果索引是整数,则下一个产生的索引是当前最大整数索引值加1,例如代码5-1。
代码5-1 为数组元素指定索引5-1.php
01 <?php
02 $ms_office = array(
03 0=>"word",
04 3=>"excel",
05 "outlook",
06 "access"
07 );
08 ?>
【代码解析】代码第03行指定元素“word”的索引为0,但接着第4行指定元素“excel”的索引为3,因为此时最大的索引值是3,所以,元素“outlook”的索引为当前最大索引值加1,即4。同理,元素“access”的索引值为5。
使用赋值运算符“=”,可以将一个数组复制到另一个数组,此时两个数组具有相同的索引及其对应的值,例如如下代码。
$ms_office = array(0=>"word",1=>"excel",2=>"outlook",3=>"access"); $arr_tmp = $ms_office;
此时,数组$arr_tmp具有了和$ms_office完全相同的索引和数组元素。通过$arr_tmp[1]可以取得元素“excel”。
5.1.2 使用变量建立数组
使用compact()函数,可以把单个变量或多个变量,甚至数组,添加为数组的成员,这些数组成员的键名是变量的变量名,值是这些变量的值。compact()函数的参数是要添加入数组的变量的变量名。如下代码演示了compact()函数的使用方法。
<?php
//
创建变量
$number = 18;
$string = "
字符串";
$array = array("boy","girl");
//
使用compact()
函数创建新数组
$newArray = compact("number","string","array");
//
显示新数组
print_r($newArray);
?>
注意 compact()函数的参数是变量的变量名,即“$”符号后的部分。如果compact()的参数中出现了非变量名的字符串,那么这个参数将是无效的。
在实际应用中,当一个文档中出现了大量的变量,同时要对这些变量进行排序等操作时,就可以使用compact()函数,把这些变量使用数组统一管理;在操作完成后,可以使用extract()函数还原compact()函数的操作,继续在程序中使用这些变量。
5.1.3 使用两个数组创建一个数组
使用array_combine()函数,可以把两个数组合并为一个数组,但不是把两个数组的成员相加,而是使用第1个数组作为新数组的索引,另一个数组作为新数组的值。array_combine()函数的使用方法如下。
<?php
//
定义二个数组
$keys = array(1,2,3,4);
$values = array("red","green","blue","yellow");
//
使用array_combine()
创建新数组
$newArray = array_combine($keys,$values);
//
显示新数组
print_r($newArray);
?>
注意 作为array_combine()函数的两个数组,要拥有相同的数组成员,否则会导致程序错误。
上一篇:第5章PHP对数组的处理
下一篇:5.2输出数组元素的方法
