php sort()函数使用不当?

Improper use of php sort() function?

我想按字母顺序对字符串 ($title) 进行排序

原代码:

  foreach ($feed->get_items() as $item) {
    $title = $item->get_title();
    echo $title.'</br>';
    }

Returns:
2008 年 3 月 15 日拍卖 95
电子拍卖 153
安蒂克明岑
黑海地区硬币的威廉·斯坦科姆 collection
Münzen 和 Medaillen A.G., Liste 366.
Collection R.詹姆森
Monetele citilor din Dobrogoea
[无标题]
Select 希腊硬币

我想到要对字符串进行排序,我必须将字符串转换为数组,对数组进行排序,然后再将其转换回字符串。

例如:

foreach ($feed->get_items() as $item) {
//added '#' so I could it explode it based on something
$title = $item->get_title().'#'; 
$titleArray = explode("#",$title);
sort($titleArray);
echo implode('#', $titleArray).'</br>';
 }

Returns:
(完全一样的东西)

我一直在尝试许多不同版本的将其转换为数组并尝试对数组进行排序但无济于事。我是一个(显然)需要帮助的初学者。任何提示将不胜感激。

先对数组排序,然后遍历它

$array = $feed->get_items();
usort(
    $array,
    function ($a, $b) {
        return strcmp($a->get_title(), $b->get_title());
    }
);
foreach ($array as $item) {
    ...
}

使用usort

$array = $feed->get_items();
usort($array, function($a, $b) {
    if ($a->get_title() == $b->get_title()) {
        return 0;
    }
    return ($a->get_title() < $b->get_title()) ? -1 : 1;
});

$array 包含已排序的项目。