程序员学习资源站
本篇文章简要叙述了PHP中数组的使用,主要包括数组(数字索引数组,关联数组,多维数组)的创建,访问以及数组的一些其他常用函数。
在C语言中常见的数组叫做数字索引数组,PHP中还有关联数组,也就是说数组的索引可以是一个字符串,这样更有利于表现数组中元素值的意义。
如:
$person = array(); $person['name'] = 'Tom'; $person['age'] = 18;
当数组的元素值还是数组时,就构成了多维数组。
不过还是要着重注意PHP中数字索引数组的特点:
1.数组元素值可以混搭,也就是数组本身没有一个确定的数据类型。
2.数组可以不按照数字索引顺序赋值,但是求数字大小时是其真实大小而非最高索引加一。
数字索引数组的创建
$example = array('1','Tom',2);
当然除了初始化还有其他创建数组的方法,比如:
$example = array(); $example[0] = '1'; $example[1] = 'Tom'; $example[2] = 2;
$person = array('name'=>'Tom','age'=>18);
也可以使用赋值的方式创建该关联数组:
$person = array(); $person['name'] = 'Tom'; $person['age'] = 18;
这个也没有什么好说的,知道了上面两种数组的创建后多维数组的创建也很简单了。
$multi = array( array(1,2,3), array(2,3,4), array('a','b'));
我将从访问单个数组元素与数组遍历两个方面来记录数组的访问方法。
访问单个数组元素
所谓基本的访问方式,即直接通过索引进行访问,此处不再细说。
在PHP数组中有一个内置的指针指向当前元素,可以借助这个指针进行访问。
如下为对该指针进行控制的几个函数。
注:
理解了对单个数组元素的访问,遍历访问就容易理解了。
有如下几种常用的方式:
$arr = array('a','b','1'); //type 1 for($i = 0;$i < count($arr);$i++){ echo $arr[$i].' '; } reset($arr); //type 2 foreach($arr as $currrent){ echo $current.' '; } reset($arr); //type 3 while($ele = each($arr)){ echo $ele['value'].' '; }
通常有两种方式:
$arr = array('name'=>'Tom','age'=>18); //type 1 foreach($arr as $key => $value){ echo $key.' '.$value.'</br>'; } reset($arr); //type 2 while($ele = each($arr)){ echo $ele['key'].' '.$ele['value'].'</br>'; }
对一维数组的排序
首先说对一维数字索引数组的排序。使用sort函数即可。
bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
第一个参数为要排序的数组,第二个为对排序行为进行控制的可选参数。
该函数将数组按照从小到大的顺序排序。
再说关联数组的排序,有两种方式,按照键排序和按照值排序,分别为ksort与asort。
bool ksort ( array &$array [, int $sort_flags = SORT_REGULAR ] ) bool asort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
上述均为按照从小到大的排序,使用rsort,arsort,krsort可以实现反向的由大到小的排序。
对多维数组进行排序时,使用usort函数进行操作。
bool usort ( array &$array , callable $value_compare_func )
其中第一个参数为要排序的多维数组,第二个参数为排序时的回调函数。
该回调函数有两个值,假设分别为$var1,$var2,这两个值即为进行大小判断时传入的两个数组元素(也为数组)。若该回调函数的返回值为0,则两数组大小相等;若小于0,则左($var1)小右大;若大于0,则左大右小。
展开 +
收起 -
Copyright 2018-2019 XZ577.com 码农之家 版权所有 苏ICP备18032832号
声明:本站所有资源都来自互联网 如有异议 请与本站联系