在php中按最后一个字符对数组列表进行排序

Sha*_*zme -2 php

在 PHP 中,如何根据数组值的最后一个字符对数组进行排序?以以下数组为例:

$string[0] = "They";
$string[1] = "started";
$string[2] = "plotting";
$string[3] = "against";
$string[4] = "him";
Run Code Online (Sandbox Code Playgroud)

排序后,数组将如下所示(请注意基于每个值的最后一个字符的顺序...还要注意重写的索引):

$string[0] = "started";
$string[1] = "plotting";
$string[2] = "him";
$string[3] = "against";
$string[4] = "they";
Run Code Online (Sandbox Code Playgroud)

the*_*dow 5

usort允许传递自定义排序函数,因此您可以执行以下操作:

usort($string , function($a, $b) {
  $aLastChar = substr($a, -1);
  $bLastChar = substr($b, -1);

  return ($aLastChar < $bLastChar) ? -1 : 1;
});
Run Code Online (Sandbox Code Playgroud)