博客列表 >PHP基础知识——数组函数

PHP基础知识——数组函数

phpcn_u202398
phpcn_u202398原创
2020年04月26日 17:10:03553浏览

1、array_count_values()函数

  • 统计数组中所有的值

语法

  • array_count_values( $array )
    代码示例
  1. <?php
  2. $arr = ['html','css','php','html','javascript','C++','html','css','html'];
  3. $res = array_count_values( $arr );
  4. printf('<pre>%s</pre>',print_r($res,true));
  5. ?>

2、array_diff_assoc()函数

  • 带索引检查计算数组的差集

语法

  • array_diff_assoc($array1, $array2 )
    代码示例
  1. <?php
  2. $arr1 = ['html','css','php','html','javascript','C++','html','css','html'];
  3. $arr2 = ['C#','C++','html','css'];
  4. $res = array_diff_assoc( $arr1 , $arr2 );
  5. printf('<pre>%s</pre>',print_r($res,true));
  6. echo "<hr>";
  7. $res = array_diff_assoc( $arr2 , $arr1 );
  8. printf('<pre>%s</pre>',print_r($res,true));
  9. ?>

3、array_fill_keys()函数

  • 使用指定的键和值填充数组

语法

  • array_fill_keys( array $keys, $value)
代码示例
  1. <?php
  2. $arr1 = ['html','css','php','html','javascript','C++','html','css','html'];
  3. $arr2 = ['C#','C++','html','css'];
  4. $res = array_fill_keys( $arr1 , $arr2 );
  5. printf('<pre>%s</pre>',print_r($res,true));
  6. ?>

4、array_filter()函数

  • 用回调函数过滤数组中的单元

语法

  • array_filter( $array[, callable $callback[, int $flag = 0]] )
代码示例
  1. <?php
  2. $arr2 = ['1'=>'C#','2'=>'C++','3'=>'html','4'=>'css'];
  3. var_dump(array_filter($arr2, function($k) {
  4. return $k == '4';
  5. }, ARRAY_FILTER_USE_KEY));

5、array_map()函数

  • 为数组的每个元素应用回调函数

语法

  • array_map( callable $callback, $array1)
代码示例
  1. <?php
  2. function jia($n){
  3. return $n+$n;
  4. }
  5. $a = array(1, 2, 3, 4, 5);
  6. $b = array_map("jia", $a);
  7. print_r($b);
  8. ?>

6、array_reduce()函数

  • 用回调函数迭代地将数组简化为单一的值

语法

  • array_reduce( $array, callable $callback )
代码示例
  1. <?php
  2. function jia($a, $b)
  3. {
  4. $a += $b;
  5. return $a;
  6. }
  7. $a = array(1, 2, 3, 4, 5);
  8. var_dump(array_reduce($a, "jia"));
  9. ?>

7、array_walk()函数

  • 使用用户自定义函数对数组中的每个元素做回调处理

语法

  • array_walk( &$array, callable $callback)
代码示例
  1. <?php
  2. $kc = array("d" => "php", "a" => "css", "b" => "html", "c" => "javascript");
  3. function test_print($item2, $key)
  4. {
  5. echo "$key. $item2<br />\n";
  6. }
  7. array_walk($kc, 'test_print');

8、array_slice()函数

  • 从数组中取出一段

语法

  • array_slice( $array, $offset, $length, $flag )
    代码示例
  1. <?php
  2. $arr1 = ['html','css','php','html','javascript','C++','html','css','html'];
  3. $arr2 = ['1'=>'C#','2'=>'C++','3'=>'html','4'=>'css'];
  4. printf( '<pre>%s</pre>',print_r( array_slice($arr1,2,4) ,true) );
  5. echo"<hr>";
  6. printf( '<pre>%s</pre>',print_r( array_slice($arr2,1,2) ,true) );
  7. ?>

9、array_splice()函数

  • 去掉数组中的某一部分并用其它值取代

`语法
array_splice( &$array, $offset, $length ,$flag )

代码示例
  1. <?php
  2. $arr1 = ['html','css','php','html','javascript','C++','html','css','html'];
  3. $arr2 = ['1'=>'C#','2'=>'C++','3'=>'html','4'=>'css'];
  4. printf( '<pre>%s</pre>',print_r( array_splice($arr1,2,4) ,true) );
  5. echo"<hr>";
  6. printf( '<pre>%s</pre>',print_r( array_slice($arr1,1,-2) ,true) );
  7. ?>

10、array_replace()

  • 使用传递的数组替换第一个数组的元素

语法

  • array_replace($array1 $array2 )
代码示例
  1. <?php
  2. $arr1 = ['html','css','php','javascript'];
  3. $arr2 = ['0'=>'C#','3'=>'C++'];
  4. printf( '<pre>%s</pre>',print_r( array_replace($arr1,$arr2) ,true) );
  5. ?>

11、array_pop()

  • 弹出数组最后一个单元(出栈)

语法

  • array_pop($array)
代码示例
  1. <?php
  2. $arr1 = ['html','css','php','javascript'];
  3. $arr2 = ['0'=>'C#','3'=>'C++'];
  4. $arr = [];
  5. $arr= array_pop ($arr1);
  6. echo $arr .'<br>' ;
  7. $arr= array_pop ($arr1);
  8. echo $arr .'<br>' ;
  9. $arr= array_pop ($arr1);
  10. echo $arr ;
  11. ?>

12、array_push()

  • 将一个或多个单元压入数组的末尾(入栈)
    语法
  • array_push( $array,$value )
代码示例
  1. <?php
  2. $arr1 = ['html','css','php','javascript'];
  3. $arr2 = ['0'=>'C#','3'=>'C++'];
  4. array_push( $arr2 , 'HTML','PHP' );
  5. print_r($arr2);
  6. ?>

学习总结

本节课我们学习了数组函数,通过本节课的学习,学到了很多数组函数以及它们的使用方法,使用数组函数操作数组方便,通过看手册促进自学能力的培养。

上一条:php数组函数下一条:字符串函数
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议