数组常用函数

最近发现学习一段时间之后需要去总结,不然很快就会忘记。本人平时比较懒,最近发现可以用写博客的方式来记录自己学习的点点滴滴,还可以复习总结一下看到的东西。


php中主要的数据结构就是数组和字符串的操作,今天来总结一下数组的基本操作。

1.数组的遍历: 对于数字索引的数组,可以采用循环遍历和foreach来遍历,个人建议优先考虑foreach

                            对于关联数组,有三种方式:foreach each list



2.排序

数字索引:sort

关联数组:asort   ksort 

注:默认情况下数组排序按升序方式,若要按降序排列,可以结合使用array_reverse函数或者使用rsort, rasort ,rksort函数


3.其他函数


PHP 中有许多常用数组函数,以下是一些介绍: ### array_map() 对数组中的每个元素应用回调函数。该函数的参数包括必需的用户自定义函数名称(或者是 null),以及至少一个数组,还可以有可选的其他数组。返回包含原数组元素经过自定义函数处理后的新数组。 示例代码如下: ```php function myfunction($v) { if ($v === "Dog") { return "Fido"; } return $v; } $a = array("Horse", "Dog", "Cat"); print_r(array_map("myfunction", $a)); ``` ```php function myfunction($v1, $v2) { if ($v1 === $v2) { return "same"; } return "different"; } $a1 = array("Horse", "Dog", "Cat"); $a2 = array("Cow", "Dog", "Rat"); print_r(array_map("myfunction", $a1, $a2)); ``` 此函数设计兼顾灵活性与性能,可用于实现自定义逻辑,避免冗余代码[^2][^4]。 ### array_merge() 把一个或多个数组合并为一个数组,是非键名、键值合并的方式。 ### array_keys() 返回数组中部分的或所有的键名。可以传入可选的搜索值参数,用于返回特定值对应的键名。 示例代码如下: ```php $array = array(0 => 100, "color" => "red"); print_r(array_keys($array)); $array = array("blue", "red", "green", "blue", "blue"); print_r(array_keys($array, "blue")); $array = array("color" => array("blue", "red", "green"), "size" => array("small", "medium", "large")); print_r(array_keys($array)); ``` ### array_column() 返回数组中指定的一列。如果指定了可选参数 `index_key`,那么原数组中的这一列的值将作为返回数组中对应值的键。 示例代码如下: ```php $haystack = [ ['user' => 'user1', 'password' => 'password1'], ['user' => 'user2', 'password' => 'password2'], ['user' => 'user3', 'password' => 'password3'], ['user' => 'user4', 'password' => 'password4'], ]; // 取出数组中的 password 列 print_r(array_column($haystack, 'password')); // 取出数组中的 password 列,并使用 user 列做为 key 值 print_r(array_column($haystack, 'password', 'user')); ``` 使用 `array_column()` 可以优先替代循环提取列数据,提升效率[^4][^5]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值