首页 > 解决方案 > 在php中按最后一个字符对数组列表进行排序

问题描述

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

$string[0] = "They";
$string[1] = "started";
$string[2] = "plotting";
$string[3] = "against";
$string[4] = "him";

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

$string[0] = "started";
$string[1] = "plotting";
$string[2] = "him";
$string[3] = "against";
$string[4] = "they";

标签: php

解决方案


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

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

  return ($aLastChar < $bLastChar) ? -1 : 1;
});

推荐阅读