gpt4 book ai didi

php - 如何使用 PHP 对数组进行排序,忽略 (Mr, Mrs) 或 Some 文章

转载 作者:可可西里 更新时间:2023-10-31 22:10:07 24 4
gpt4 key购买 nike

使用名称对数组进行排序我有一个数组。

 array(0 => Mr. Bala ,1 => Mr. Santhosh, 2 => Mrs. Camel,3 => Mrs. Vinoth); 

仅根据姓名升序排列

我的预期输出是

array(
0 => Mr. Bala,
1 => Mrs. Camel,
2 => Mr. Santhosh,
3 => Mr. Vinoth,
);

最佳答案

使用 usort,取字符串的第二部分,按点分割,后加空格

usort($a, function($i1, $i2) {
return strcmp(explode('. ',$i1)[1], explode('. ',$i2)[1]);
});

UPD 由于 Bart Friederichs 的评论

usort($a, function($i1, $i2) {
$t = explode('. ',$i1);
$i1 = (! isset($t[1]) ? $i1 : $t[1]);
$t = explode('. ',$i2);
$i2 = (! isset($t[1]) ? $i2 : $t[1]);
return strcmp($i1, $i2);
});

demo

UPD2 使其不区分大小写

usort($a, function($i1, $i2) {
$t = explode('. ',$i1);
$i1 = (! isset($t[1]) ? $i1 : $t[1]);
$t = explode('. ',$i2);
$i2 = (! isset($t[1]) ? $i2 : $t[1]);
return strcmp(strtoupper($i1), strtoupper($i2));
});

关于php - 如何使用 PHP 对数组进行排序,忽略 (Mr, Mrs) 或 Some 文章,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37278102/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com