PHP 常用数组函数

1.array_combine()生成一个数组,用一个数组的值作为键名,另一个数组值作为值;如:

        $a1=array("a","b","c","d");
        $a2=array("Cat","Dog","Horse","Cow");
        print_r(array_combine($a1,$a2));

        打印:Array ( [a] => Cat [b] => Dog [c] => Horse [d] => Cow )

2.合成后的数组 compact()创建一个由参数所带变量组成的;如:

        $firstname = "lopo";
        $lastname = "peter";
        $age = "18";
        $result = compact("firstname", "lastname", "age");
        print_r($result);

        打印:Array ( [firstname] => lopo [lastname] => peter [age] => 18 )

3.数组合并和拆分

   array_chunk() 把一个数组分割为新的数组块

        $a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse","d"=>"Cow");
        print_r(array_chunk($a,2));//分割后的多维数组,规定每个新数组包含2个元素

        打印:Array ( [0] => Array ( [0] => Cat [1] => Dog ) [1] => Array ( [0] => Horse [1] => Cow ) )

    array_merge() 把两个或多个数组合并成一个数组

        $a1=array("a"=>"Horse","b"=>"Dog");
        $a2=array("c"=>"Cow","b"=>"Cat");
        print_r(array_merge($a1,$a2));

        打印:Array ( [a] => Horse [b] => Cat [c] => Cow )

4.array_slice() 在数组中根据条件取出一段值,并返回

        $a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
        print_r(array_slice($a,1,2)); //1为从'Cat'开始,2为返回两个元素

        打印:Array ( [0] => Cat [1] => Horse )

5.array_diff() 返回两个数组的差集数组

        $a1=array(0=>"Cat",1=>"Dog",2=>"Horse");
        $a2=array(3=>"Horse",4=>"Dog",5=>"Fish");
        print_r(array_diff($a1,$a2));//返回$a1与$a2的不同之处

        打印:Array ( [0] => Cat )

6.array_intersect() 返回两个或多个数组的交集数组

        $a1=array(0=>"Cat",1=>"Dog",2=>"Horse");
        $a2=array(3=>"Horse",4=>"Dog",5=>"Fish");
        print_r(array_intersect($a1,$a2));//返回$a1与$a2的相同之处

        打印:Array ( [1] => Dog [2] => Horse )

7.array_search() 在数组中查找一个键值

        $a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
        print_r(array_search("Dog",$a));//成功返回键名,失败返回false;等同于in_array()

        打印:a

8.array_splice() 把数组中一部分删除用其他值替代

        $a1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
        $a2=array(0=>"Tiger",1=>"Lion");
        array_splice($a1,0,2,$a2);//一个或多个数组 $a1被移除的部分由$a2补全;将原数组替换,注意替换后数组中键名不保留
        print_r($a1);

        打印:Array ( [0] => Tiger [1] => Lion [2] => Horse [3] => Bird )

9.array_sum() 返回数组中所有值的总和

        $a=array(0=>"5",1=>"15",2=>"25");
        print_r(array_sum($a));

        打印:45

10.array_key_exists() 判断数组中是否存在相应的key

        $a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
        print_r(array_key_exists("a",$a));//返回true或false

        打印:1

11.array_push() 向数组最后压入一个或多个元素

        $a=array("Dog","Cat");
        array_push($a,"Horse","Bird");
        print_r($a);

        打印:Array ( [0] => Dog [1] => Cat [2] => Horse [3] => Bird )

12.array_keys() 返回数组所有的键,组成一个数组

        $a=array("a"=>"Horse","b"=>"Cat","c"=>"Dog");
        print_r(array_keys($a));

       打印:Array ( [0] => a [1] => b [2] => c )

 

 

### PHP 常用数组函数及其用法 #### 合并数组 `array_merge_recursive()` 函数用于合并多维数组。当遇到相同键名时,它不会简单地覆盖值,而是将这些值组合成一个新的数组[^1]。 ```php $fruits1 = array('a' => array('orange', 'banana'), 'b' => 'apple'); $fruits2 = array('a' => array('kiwi', 'pear'), 'c' => 'grape'); $mergedFruits = array_merge_recursive($fruits1, $fruits2); // 输出:['a' => ['orange', 'banana', 'kiwi', 'pear'], 'b' => 'apple', 'c' => 'grape'] print_r($mergedFruits); ``` #### 截取数组 `array_slice()` 和 `array_splice()` 是两种不同的截取方式。前者返回指定范围内的子数组而不改变原数组;后者则修改原数组,并允许插入其他元素[^2]。 ```php $array = range(0, 9); $slicedArray = array_slice($array, 3, 4); // 不改变原始数组 print_r($slicedArray); array_splice($array, 3, 4, ["X", "Y"]); // 修改原始数组 print_r($array); ``` #### 排序数组 PHP 提供多种排序函数,如 `sort()`, `rsort()`, `asort()`, `arsort()`, `ksort()`, `krsort()` 等。每种都有特定用途,比如按值排序或按键排序[^3]。 ```php $data = [5, 3, 8, 6]; sort($data); // 升序排序 print_r($data); rsort($data); // 降序排序 print_r($data); $data_assoc = ['a' => 3, 'b' => 2, 'c' => 1]; asort($data_assoc); // 按值升序排序,保留键关联关系 print_r($data_assoc); ``` #### 查找数组中的值 为了找到某值在数组中最后出现的位置,可以通过自定义逻辑实现这一目标。 ```php $needle = 789; $array = ['hello', '1', 789, 'test', 'another', 789, 'same']; $key = false; foreach ($array as $k => $v) { if ($v === $needle) { // 使用严格比较符确保类型一致 $key = $k; } } var_dump($key); // 返回最后一次匹配的 key ``` #### 将数组分割为更小的部分 `array_chunk()` 能够把一个大数组拆分成若干个小数组,每个小数组包含固定数量的元素。 ```php $input_array = ['a', 'b', 'c', 'd', 'e']; $result = array_chunk($input_array, 2); print_r($result); /* 输出: [ [0] => ['a', 'b'], [1] => ['c', 'd'], [2] => ['e'] ] */ ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值