数组的声明
1、直接赋值的方式声明数组
$数组变量名[索引值] = 资料内容 //其中索引值(下标)可以是一个字符串或数字
但有的时候,我们也可以直接给数组赋值,并不填写“索引值”,那第此时,数组的下标就会自动以数字0开始增加。
$数组变量名[] = 资料内容 //其中索引值(下标)可以是一个字符串或数字
2、使用array()语言结构新建数组
在实际使用中我们可以用array()语言结构来新建一个数组,并初始化数组。
$数组变量名=array( key1 => value1, key2 => value2, ...... ,keyN => valueN );
当然,像上面我们并不一定就这样,我们有的时候会像下面这样来做:(区别在于索引值为数字)
$数组变量名=array( value1, value2, ...... , valueN );
3、多维数组的声明
多维数组其实也就是在数组里面再次存放数组。如下:
$content = array (
array(1,'高某','A公司','北京市'),
array(2,'高某1','B公司','北京市'),
array(3,'高某','C公司','北京市')
);
数组的遍历
1、使用for语句循环遍历数组
在其它的编程语言中,数组的遍历通常都是使用for循环语句,通过数组的下标来访问数组中每个成员元素,但要求数组的下标必须是连续的数字索引。而在PHP中,不仅可以指定非连续的数字索引值,而且还存在以字符为下标的关联数组。所以在PHP中,其实是很少使用for语句来遍历数组。下面来晒一个例子给大家看一下,大家应该不会陌生。
代码如下 | 复制代码 | |||||||||||||||||||||||||||||||||||
//使用array()语句将联系人列表中第一条记录声明成一维数组$contact $contact=array(1,"高某","A公司","北京市","(015)9582451","[email protected]"); //以表格的形式输出一维数组中的每个元素 echo '
?> 遍历多维数组时,要使用循环嵌套逐层进遍历。在此就不用代码列出来了。 既然for循环语句在PHP中并不常用,那么就让我们来看一下foreach到底有什么可取之处吧! foreach语句有两种语法格式,第二种比较次要但却是第一种有用的扩展。 第一种语法格式: foreach(array_expression as $value ){ 第二种语法模式: foreach(array_expression as $key => $value){ 3、联合使用list()、each()、和while()、循环遍历数组 each()函数 each()函数需要传递一个数组作为参数,返回数组中当前元素的键/值对,并向后移动数组指针到下一个元素的位置。键/值对被返回为带有四个元素的关联和索引混合的数组,键名分别为0、1、key和value。其中键名0和key对应的值是一样的,是数组元素的键名,1和value则包含有数组元素的值。如果内部指针越过了数组的末端,则each()返回FALSE。each()函数的使用如下所示:
list()函数 这不是真正的函数,而是PHP的语言结构。list()用一步操作给一组变量进赋值,即把数组中的值赋给一些变量。list()仅能用于数字索引的数组并假定数字索引从0开始。语法格式如下所示: list(mixed varname,mixed ...)=array_expression //list()语句的语法格式 list()语句和其它函数在使用上有很大的区别,并不是直接接收一个数组作为参数。而是通过“=”去处符以赋值的方式,将数组中每个元素的值,对应的赋给list()函数中的每个参数。list()函数又将它中的每个参数转换为直接可以在脚本中使用的变量。使用方法如下 :
通过上例了解list()函数的用法之后,将each()函数和list()函数结合起来使用。代码如下:
while()循环遍历数组 while()循环的语法格式如下: while( list($key,$value) = each(array_expressin) ){ 使用这种组合改写前面使用foreach遍历过的一维数组。代码如下所示:
4、数组内部指针控制函数遍历数组 对于数组指针的控制PHP提供了以下几个内奸函数可以利用。 》》current():是取得目前指针位置的内容资料 》》key():用来读取目前指针所指向资料的索引值 》》next():将数组中的内部指针移动到下一个单无 》》prev():将数组的内部指针倒回一位 》》end():将数组的内部指针向最后一个元素 》》reset():将目前指针无条件移至第一个索引位置 这些函数的参数都只有一个,就是要操作的数组本身。在下面的示例中,将使用这些数组指针函数控制数组中元素的读取顺序。代码如下所示:
数据排序
例子:
运行该例子输出: Array ( [0] => a [1] => b [2] => c ) rsort() asort() 语法: bool asort( array &array [, int sort_flags] ) 例子:
运行该例子输出: Array ( [1] => a [0] => b [2] => c ) 注:本文内容参考于《细说PHP》中的数组部分,仅作学习之余的个人笔记。 |