php数组根据字符串中的数字排序,PHP:根据二维数组中的某个字段进行排序

这篇博客介绍了PHP中array_column函数用于获取数组某一列的值,以及array_multisort函数对数组进行多条件排序的用法。通过示例代码展示了如何根据'last_name'字段降序排列数组,并添加了按'id'字段升序排序的条件。在使用array_multisort时,注意参数应传入常量而非字符串,如SORT_DESC和SORT_ASC。
摘要由CSDN通过智能技术生成

首先了解下以下两个函数:

1.array_column() 返回输入数组中某个单一列的值。

f1c0ef1346931935d6e7f30d9b3294b4.png

2.array_multisort() 函数返回排序数组。您可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多

个值相同,它将对下一个数组进行排序。

b4a42e23efe2f1746f00c8a83b11e8ad.png

具体实现代码实例:

$data = array(

array(

'id' => 5698,

'first_name' => 'Bill',

'last_name' => 'Gates',

),

array(

'id' => 4767,

'first_name' => 'Steve',

'last_name' => 'Aobs',

),

array(

'id' => 3809,

'first_name' => 'Mark',

'last_name' => 'Zuckerberg',

)

);

//根据字段last_name对数组$data进行降序排列

$last_names = array_column($data,'last_name');

array_multisort($last_names,SORT_DESC,$data);

var_dump($data);

//可以使用多个排序条件

$last_names = array_column($data,'last_name');

$ids= array_column($data,'id');

array_multisort($last_names,SORT_DESC,$ids,SORT_ASC,$data);

var_dump($data);

注意:报错array_multisort(): Argument #2 is expected to be an array or a sort flag,是因为参数中的第二个参数是常量SORT_DESC,SORT_ASC, 代码中写成了'SORT_DESC' 然后就出现了上面的错误(更多的常量参数可参考官方文档:https://www.php.net/manual/zh/function.array-multisort.php)

文章来源于:https://www.cnblogs.com/wenzheshen/p/9455554.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值