php - 按数组中最后一个键的值排序?

标签 php sorting multidimensional-array

当键的数量未知时,我想弄清楚如何根据最后一个键的值对数组进行排序?

所以,如果我有这样的数组:

Array(
  [0] => Array(
      [0] => Bob 
      [1] => A 
      [2] => Parker
  )
  [1] => Array(
      [0] => John 
      [1] => Smith-Doe
  )
  [2] => Array(
      [0] => Giuseppe 
      [1] => Gonzalez
      [2] => Octavio
      [3] => Hernandez
  )
)

我想按数组中的最后一个值对其进行排序:

  • 朱塞佩·冈萨雷斯·奥克塔维奥·埃尔南德斯
  • 鲍勃·帕克
  • John Smith-Doe

最佳答案

$arr = array(
    array('Bob', 'A', 'Parker'),
    array('John', 'Smith-Doe'),
    array('Giuseppe', 'Gonzalez', 'Octavio', 'Hernandez')
);

usort($arr, 'sort_by_last_item');

var_dump($arr);

function sort_by_last_item($a, $b)
{
    return end($a) > end($b);
}

或者如果您使用的是 php 5.3:

$arr = array(
    array('Bob', 'A', 'Parker'),
    array('John', 'Smith-Doe'),
    array('Giuseppe', 'Gonzalez', 'Octavio', 'Hernandez')
);

usort($arr, function($a, $b) { return end($a) > end($b); });

var_dump($arr);

关于php - 按数组中最后一个键的值排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5876924/

相关文章:

php - PHP 的 set_include_path 的 "Starting Point"是什么

php - 用户输入的带有 Javascript 的 HTML 显示给其他人但不是 HTML 转义的 XSS 示例

c - 如何提高数组排序效率

android - 如何将二维数组从一个 Activity 传递到另一个 Activity ?

ruby - 如何仅将一个值的累加和添加到数组?

php - 自动嵌入 YouTube 直播

php - 使用 nginx 设置常量 SERVER_NAME

php - 为什么我不能对嵌套数组进行数字排序?

javascript - 为什么在调用 ExtJS Grid Store Load 时执行了太多请求?

c++ - 使用 STRCPY 将二维字符数组复制到另一个二维数组中