1、array_count_values()函数
- 统计数组中所有的值
语法
<?php
$arr = ['html','css','php','html','javascript','C++','html','css','html'];
$res = array_count_values( $arr );
printf('<pre>%s</pre>',print_r($res,true));
?>
2、array_diff_assoc()函数
- 带索引检查计算数组的差集
语法
<?php
$arr1 = ['html','css','php','html','javascript','C++','html','css','html'];
$arr2 = ['C#','C++','html','css'];
$res = array_diff_assoc( $arr1 , $arr2 );
printf('<pre>%s</pre>',print_r($res,true));
echo "<hr>";
$res = array_diff_assoc( $arr2 , $arr1 );
printf('<pre>%s</pre>',print_r($res,true));
?>
3、array_fill_keys()函数
- 使用指定的键和值填充数组
语法
- array_fill_keys( array $keys, $value)
代码示例
<?php
$arr1 = ['html','css','php','html','javascript','C++','html','css','html'];
$arr2 = ['C#','C++','html','css'];
$res = array_fill_keys( $arr1 , $arr2 );
printf('<pre>%s</pre>',print_r($res,true));
?>
4、array_filter()函数
- 用回调函数过滤数组中的单元
语法
- array_filter( $array[, callable $callback[, int $flag = 0]] )
代码示例
<?php
$arr2 = ['1'=>'C#','2'=>'C++','3'=>'html','4'=>'css'];
var_dump(array_filter($arr2, function($k) {
return $k == '4';
}, ARRAY_FILTER_USE_KEY));
5、array_map()函数
- 为数组的每个元素应用回调函数
语法
- array_map( callable $callback, $array1)
代码示例
<?php
function jia($n){
return $n+$n;
}
$a = array(1, 2, 3, 4, 5);
$b = array_map("jia", $a);
print_r($b);
?>
6、array_reduce()函数
- 用回调函数迭代地将数组简化为单一的值
语法
- array_reduce( $array, callable $callback )
代码示例
<?php
function jia($a, $b)
{
$a += $b;
return $a;
}
$a = array(1, 2, 3, 4, 5);
var_dump(array_reduce($a, "jia"));
?>
7、array_walk()函数
- 使用用户自定义函数对数组中的每个元素做回调处理
语法
- array_walk( &$array, callable $callback)
代码示例
<?php
$kc = array("d" => "php", "a" => "css", "b" => "html", "c" => "javascript");
function test_print($item2, $key)
{
echo "$key. $item2<br />\n";
}
array_walk($kc, 'test_print');
8、array_slice()函数
- 从数组中取出一段
语法
<?php
$arr1 = ['html','css','php','html','javascript','C++','html','css','html'];
$arr2 = ['1'=>'C#','2'=>'C++','3'=>'html','4'=>'css'];
printf( '<pre>%s</pre>',print_r( array_slice($arr1,2,4) ,true) );
echo"<hr>";
printf( '<pre>%s</pre>',print_r( array_slice($arr2,1,2) ,true) );
?>
9、array_splice()函数
- 去掉数组中的某一部分并用其它值取代
`语法
array_splice( &$array, $offset, $length ,$flag )
代码示例
<?php
$arr1 = ['html','css','php','html','javascript','C++','html','css','html'];
$arr2 = ['1'=>'C#','2'=>'C++','3'=>'html','4'=>'css'];
printf( '<pre>%s</pre>',print_r( array_splice($arr1,2,4) ,true) );
echo"<hr>";
printf( '<pre>%s</pre>',print_r( array_slice($arr1,1,-2) ,true) );
?>
10、array_replace()
- 使用传递的数组替换第一个数组的元素
语法
- array_replace($array1 $array2 )
代码示例
<?php
$arr1 = ['html','css','php','javascript'];
$arr2 = ['0'=>'C#','3'=>'C++'];
printf( '<pre>%s</pre>',print_r( array_replace($arr1,$arr2) ,true) );
?>
11、array_pop()
- 弹出数组最后一个单元(出栈)
语法
- array_pop($array)
代码示例
<?php
$arr1 = ['html','css','php','javascript'];
$arr2 = ['0'=>'C#','3'=>'C++'];
$arr = [];
$arr= array_pop ($arr1);
echo $arr .'<br>' ;
$arr= array_pop ($arr1);
echo $arr .'<br>' ;
$arr= array_pop ($arr1);
echo $arr ;
?>
12、array_push()
- 将一个或多个单元压入数组的末尾(入栈)
语法
- array_push( $array,$value )
代码示例
<?php
$arr1 = ['html','css','php','javascript'];
$arr2 = ['0'=>'C#','3'=>'C++'];
array_push( $arr2 , 'HTML','PHP' );
print_r($arr2);
?>
学习总结
本节课我们学习了数组函数,通过本节课的学习,学到了很多数组函数以及它们的使用方法,使用数组函数操作数组方便,通过看手册促进自学能力的培养。