如何使用任意一个索引对 PHP 中的整个多维数组进行排序?

发布于 2024-12-11 09:03:21 字数 233 浏览 0 评论 0原文

如何根据任意一个索引对php中的整个多维数组进行排序?

就像我有一个数组 $a=array('name'=>'sandep','dob'=>'06/08/1987','education'=>'undergrad');我根据索引将数据填充到该数组中。现在我想根据任何一个索引对整个数组数据进行排序。说“DOB”。可以用 PHP 来做吗?

EG:如果我有一千行。整个数组应该是基于 DOB 排序的数组。

How to sort an entire multi dimensional array in php based on any one of the index?

Like i have an array say $a=array('name'=>'sandep','dob'=>'06/08/1987','education'=>'undergrad'); i have data filled into this array based on the index. Now i want to sort the entire array data based on any one of the index. Say 'DOB'. Is it possible to do them in PHP?

EG: if i have thousand rows. The entire array should be a sorted one based on DOB.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

清浅ˋ旧时光 2024-12-18 09:03:21

是的,您可以使用 usort 来使用您自己的排序功能。

Yes, you can use usort to use your own sort function.

喜爱纠缠 2024-12-18 09:03:21
<?php 
$multiArray = Array( 
    Array("id" => 1, "name" => "Defg"), 
    Array("id" => 2, "name" => "Abcd"), 
    Array("id" => 3, "name" => "Bcde"), 
    Array("id" => 4, "name" => "Cdef")); 
$tmp = Array(); 
foreach($multiArray as &$ma) 
    $tmp[] = &$ma["name"]; 
array_multisort($tmp, $multiArray); 
foreach($multiArray as &$ma) 
    echo $ma["name"]."<br/>"; 

/* Outputs 
    Abcd 
    Bcde 
    Cdef 
    Defg 
*/ 
?>
<?php 
$multiArray = Array( 
    Array("id" => 1, "name" => "Defg"), 
    Array("id" => 2, "name" => "Abcd"), 
    Array("id" => 3, "name" => "Bcde"), 
    Array("id" => 4, "name" => "Cdef")); 
$tmp = Array(); 
foreach($multiArray as &$ma) 
    $tmp[] = &$ma["name"]; 
array_multisort($tmp, $multiArray); 
foreach($multiArray as &$ma) 
    echo $ma["name"]."<br/>"; 

/* Outputs 
    Abcd 
    Bcde 
    Cdef 
    Defg 
*/ 
?>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文