常用数组函数
- array_push( a r r a y , array, array,value1,$value2…)
向数组尾部插入一个或多个元素,返回值为插入的元素个数
$arr = array('value1');
array_push($arr,'value2');
print_r($arr);
//Array ( [0] => value1 [1] => value2 )
- array_unshift( a r r a y , array, array,value1,$value2…)
向数组开头插入一个或多个元素,返回值为插入的元素个数
$arr = array('one');
array_unshift($arr,'two','three');
print_r($arr);
//Array ( [0] => two [1] => three [2] => one )
- array_pop($array)
从数组栈弹出最后一个元素,返回值为删除的元素的值
$arr = array('one','two','three','four');
$val = array_pop($arr);
echo '删除的值:',$val;
print_r($arr);
//删除的值:four
//Array ( [0] => one [1] => two [2] => three )
- array_shift($array)
从数组中移除第一个元素,返回值为移除元素的值
$arr = array('one','two','three','four');
$val = array_shift($arr);
echo '移除的元素:',$val,'<br>';
print_r($arr);
//移除的元素:one
//Array ( [0] => two [1] => three [2] => four )
- array_filter($array,[function])
第二个参数没有时,过滤数组中的空元素(包含零);第二个参数自定义时,按照第二个自定义的函数进行过滤;下标不会发生改变
//没有第二个参数的情况
$arr = array(1,2,3,4,5,6,0,'',10);
$arr1 = array_filter($arr);
print_r($arr1);
//Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [8] => 10 )
//有第二个参数的情况
function even($num) {
if($num % 2 == 0) {
return $num;
}
}
$arr = array(1,2,3,4,5,6,7,10);
$arr1 = array_filter($arr,even);
print_r($arr1);
//Array ( [1] => 2 [3] => 4 [5] => 6 [7] => 10 )
- array_diff( a r r a y 1 , array1, array1,array2…)
取数组的差集(比较元素的值,不比较元素的键),以第一个参数为准
$arr1 = array('a'=>1,'b'=>2,'c'=>3);
$arr2 = array('d'=>5,'e'=>6,3=>7,'g'=>2);
$new_arr = array_diff($arr1, $arr2);
$new_arr1 = array_diff($arr2,$arr1);
print_r($new_arr);
print_r($new_arr1);
//Array ( [a] => 1 [c] => 3 )
//Array ( [d] => 5 [e] => 6 [3] => 7 )
- array_intersect( a r r a y 1 , array1, array1,array2…)
取数组的交集(比较元素的值,不比较元素的键)
$arr1 = array('a'=>1,'b'=>2,'c'=>3);
$arr2 = array('d'=>5,'e'=>6,3=>7,'g'=>2);
$new_arr = array_intersect($arr1, $arr2);
print_r($new_arr);
//Array ( [b] => 2 )
- array_search( v a l u e , value, value,array)
数组中查找某个元素,返回查找到的位置,没有查找到返回false
$arr1 = array('a'=>1,'b'=>2,'c'=>3,5=>22);
echo array_search(2,$arr1);
echo array_search(22,$arr1);
//b
//5
- in_array( v a l u e , value, value,array)
判断元素是否在数组里,存在返回true,不存在返回false
$arr1 = array('a'=>1,'b'=>2,'c'=>3,5=>22);
if(in_array(2,$arr1)) {
echo '存在';
}else {
echo '不存在';
}
//存在
- implode( s e p a r a t o r , separator, separator,array)
以某个分隔符将数组拼接成字符串
$arr1 = array('Hello','are','you');
$str = implode(' ',$arr1);
echo $str;
//Hello are you