PHP 数组函数 汇总

1. array_filter

使用回调函数过滤数组中是值。
该函数把输入数组中的每个键值传给回调函数。
如果回调函数返回 true,则把输入数组中的当前键值返回结果数组中。数组键名保持不变。

  • array_filter(array,callbackfunction)
参数 描述
array 必需。规定要过滤的数组。
callbackfunction 必需。规定要使用的回调函数。
<?php

        $arr = [1,2,3,4,5,6,7,8,9,10];
        $result1 = array_filter($arr,function($value)
        {
            return $value >5;
        });
     print_r($arr);  结果返回 : [6,7,8,9,10];
?>

2.array_intersect

比较两个数组的键值,并返回交集

  • array_intersect(array1,array2,array3…)
参数 描述
array1 必需。与其他数组进行比较的第一个数组。
array2 必需。与第一个数组进行比较的数组。
array3,… 可选。与第一个数组进行比较的其他数组。
<?php
         $arr = [1,2,3,4,5,6,7,8,9,10];
        $arr2 = [5,6,7,8,11,12,23,34];
        $arr3 = [34,45,46,5,6];
        $result = array_intersect($arr,$arr2,$arr3); //结果  :[5,6]
?>

3.array_column

返回输入数组中某个单一列的值

  • array_column(array,column_key,index_key)
参数 描述
array 必需。规定要使用的多维数组(记录集)。
column_key 必需。需要返回值的列。可以是索引数组的列的整数索引,或者是关联数组的列的字符串键值。该参数也可以是 NULL,此时将返回整个数组(配合 index_key 参数来重置数组键的时候,非常有用)。
index_key 可选。用作返回数组的索引/键的列。
<?php
 $a = [
             [
                 'name'=>'fantasy',
                 'age'=>12,
                 'sex'=>'man'
             ],
             [
                 'name'=>'jay',
                 'age'=>22,
                 'sex'=>'women'
             ],
             [
                 'name'=>'uknow',
                 'age'=>32,
                 'sex'=>'women'
             ]
         ];
         $result = array_column($a,'name','age');  
         结果:
               [
                12=>'fantasy',
                22 => "jay",
                32 => "uknow"
              ]
       第三个参数 作为下表使用   如果下标出现重复,则后面替换前面的值。
?>

4.array_diff

比较两个数组的键值,并返回差集
array_diff() 函数返回两个数组的差集数组。
该数组包括了所有在被比较的数组中,但是不在任何其他参数数组中的键值。
在返回的数组中,键名保持不变。

  • array_diff(array1,array2,array3…)
参数 描述
array1 必需。与其他数组进行比较的第一个数组。
array2 必需。与第一个数组进行比较的数组。
array3,… 可选。与第一个数组进行比较的其他数组。
<?php
           $a = [2,3,4,5,6,7,9];
           $b = [111,222,333,9];
           $c = [111,222,6,5];

           $result = array_diff($a,$b,$c);
          结果:[2,3,4,7] 
?>

5.array_search

函数在数组中搜索某个键值,并返回对应的键名。

array_search() 函数与 in_array() 一样,不过 in_array()返回 true,false.在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。
在 PHP 4.2.0 之前,函数在失败时返回 null 而不是 false。
如果第三个参数 strict 被指定为 true,则只有在数据类型和值都一致时才返回相应元素的键名。

  • array_search(value,array,strict)
参数 描述
value 必需。规定需要搜素的键值。
array 必需。规定被搜索的数组。
strict 可选。如果该参数被设置为 TRUE,则函数在数组中搜索数据类型和值都一致的元素。可能的值:true false - 默认如果设置为 true,则在数组中检查给定值的类型,数字 5 和字符串 5 是不同的(参见实例 2)。
<?php
     $a = [2,3,4,5,6,7,9];
     $result = array_search(3,$a);
     结果: 1
?>

6.array_unique

array_unique() 函数移除数组中的重复的值,并返回结果数组。
当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除。
返回的数组中键名不变。

  • array_unique(array)
参数 描述
array 必需。规定数组。
sortingtype 可选。规定如何比较数组元素/项目。可能的值:SORT_STRING - 默认。把项目作为字符串来比较。SORT_REGULAR - 把每一项按常规顺序排列(Standard ASCII,不改变类型)。SORT_NUMERIC - 把每一项作为数字来处理。SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。
<?php
      $a = [
                'name'=>'fantasy',
                'country'=>'china',
                'like'=>'china',
                'age'=>12
           ];
    $result = array_unique($a);
   结果:
           [
                'name'=>'fantasy',
                'country'=>'china',
               'age'=>12
           ]
?>

7.array_push

array_push() 函数向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度。

  • array_push(array,value1,value2…)
参数 描述
array 必需。规定数组。
value1 必需。规定要添加的值。
value2 可选。规定要添加的值。
<?php
    $a = [
                'name'=>'fantasy',
                'country'=>'china',
                 'china',
                'age'=>12,
                'ccc'=>'uyt',
                'll'=>13234
           ];

           $result = array_push($a,'fantasy'); //返回当前数组长度
          $a 数组中已经在追后追加新增的元素与
?>

8.array_pop

array_pop() 函数删除数组中的最后一个元素。

  • array_pop(array)
参数 描述
array 必需。规定数组。
<?php
       $a=[1,2,3,4,5];
        array_pop($a);
     结果: [1,2,3,4]
?>

9.array_shift

删除数组中的第一个元素(red),并返回被删除元素的值

<?php
        $a=array("a"=>"red","b"=>"green","c"=>"blue");
       echo array_shift($a);
       print_r ($a);
?>

10.array_unshift

array_unshift() 函数用于向数组插入新元素。新数组的值将被插入到数组的开头。
被加上的元素作为一个整体添加,这些元素在数组中的顺序和在参数中的顺序一样。
该函数会返回数组中元素的个数。

<?php
     $a=array("a"=>"red","b"=>"green");
     array_unshift($a,"blue");
     print_r($a);  // $a = array(0=>'blue',"a"=>"red","b"=>"green");
?>

猜你喜欢

转载自blog.csdn.net/uknow0904/article/details/79108967