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

Nov*_*044 4 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
  )
)
Run Code Online (Sandbox Code Playgroud)

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

  • Giuseppe Gonzalez Octavio Hernandez
  • Bob A. Parker
  • John Smith-Doe

zer*_*kms 5

$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);
}
Run Code Online (Sandbox Code Playgroud)

或者如果您使用的是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);
Run Code Online (Sandbox Code Playgroud)