数组函数
统计:
count() //用于统计数组中元素的个数。
count(数组,是否递归(默认false))。
$arr=Array(1,array(‘a’,'b’,'c’),3,4,5);
echo count($arr); //5;
echo count($arr, true) //8;
array_sum() //用于统计数组中元素的和。
array_product() //用于计算数组中所有元素的乘积。
创建数组:
array_fill() //用给定的值填充数组。
array_fill(起始下标,元素个数,元素值);
$arr=array_fill( 2, 5, ‘hello’ );
print_r($arr); //Array ( [2] => hello [3] => hello [4] => hello [5] => hello [6] => hello )
range() //用于建立一个指定范围数值的数组,步长或间距不写时默认是1。
range(起始值,结束范围,步长或间距);
print_r(range(5,10));//Array ( [0] => 5 [1] => 6 [2] => 7 [3] => 8 [4] => 9 [5] => 10 );
print_r(range(5,10,2));//Array ( [0] => 5 [1] => 7 [2] => 9 )
array_combine() //把两个数组的元素合成一个数组,第一个参数数组的值作为键,第二个参数数组的值作为对应的值。
$arr1=Array(‘name’,'sex’,'age’);
$arr2=Array(‘Lucy’,'girl’,16);
print_r(array_combine($arr1,$arr2));//Array ( [name] => Lucy [sex] => girl [age] => 16 );
变量和数组元素相互转换:
compact() //把变量通过其变量名加入到数组中。
$name=’Lucy’;
$sex=’girl’;
$age=16;
print_r( compact(‘name’, ‘sex’, ‘age’) ); //Array ( [name] => Lucy [sex] => girl [age] => 16 )
extract() //把数组中的元素从数组中抽取出来,用它的键作为变量名,元素的值作为值。
$arr=Array(‘name’=>’Lucy’,'sex’=>’girl’,'age’=>’16′);
extract( $arr );
var_dump( $name, $sex, $age );//string(4) “Lucy” string(4) “girl” string(2) “16″。
list() //把数组中的元素值赋给变量。如果中间不需要的元素可以加一个空的逗号跳过,不给出变量名。
$arr=Array(’1′,’Lucy’, ‘girl’, ’16′);
list( $id, $name, , $age ) = $arr;
echo $id, $name, $age; //1 name age;
判断:
in_array() //判断给出的值是否和数组中某个元素的值相等。(可用于判断传递的参数是否合法)。
$arr=Array(’1′,’Lucy’,'girl’,’16′);
$sex=’girl’;
var_dump( in_array($sex, $arr) );//bool(true)。
array_key_exists() //判断给出的变量值是否与数组元素中某个元素的键值相等。
$sex_arr=Array(
’1′=>’boy’,
’2′=>’girl’,
’3′=>’secret’
);
$sex=2;
var_dump( array_key_exists( $sex, $sex_arr ) ); //bool( false )。
键值操作:
array_keys() //可以把一个数组中元素的键返回组成一个新的数组;
$arr=Array( ‘id’=>’1′,’name’=>’Lucy’,'sex’=>’girl’,'sex’=>’16′);
var_dump( array_keys($arr) );//array(3) { [0]=> string(2) “id” [1]=> string(4) “name” [2]=> string(3) “sex” }
array_values() //把数组元素的值返回组成一个新的数组;
array_flip() //交换数组元素的键和值的位置。如果值有重复的,键、值交换位置后,后面的覆盖前面的,元素会变少,因为键不能重复,值可以。
shuffle() //打乱数组元素的顺序。数组以引用方式传递,shuffle( $arr )。
array_unique() //去除数组中重复的元素,重复的值只保留一个。
数组和字符串相互转换:
implode() //把数组中的元素用分隔符连接成一个字符串。
$arr=Array(‘a’,'B’,'c’);
echo implode(”, $arr); //aBc
echo implode(‘-’, $arr); //a-B-c
explode() //把字符串用字符串分隔符隔开的内容保存到数组中。
$str=’welcome to China’;
print_r(explode(‘ ‘, $str));//Array ( [0] => welcome [1] => to [2] => China )