首页 > 解决方案 > 从数字开始对字符串数组进行排序

问题描述

我试图在 Symfony 中按名称对一组对象进行排序。但我不知道该怎么做,因为字符串以数字开头,所以顺序不好。

我尝试在我的存储库中使用 queryBuilder:

 $qb = $this->createQueryBuilder('arrondissement')
            ->addOrderBy('arrondissement.nom', 'ASC');
        $query = $qb->getQuery();
        return $query->execute();

以及控制器中的 sort() 函数,

但正如你所看到的,情况并非完全如此。我想像:1er arrondissement, 2e ...., 20e..., Paris

在此处输入图像描述

标签: phpsymfony

解决方案


例如,您可以使用 php natsort

$arr = [
            '10e arrondrissement',
            '1e arrondrissement',
            '8e arrondrissement',
            '2e arrondrissement',
            '5e arrondrissement',
 ];
 natsort($arr);
 print_r($arr);

将返回 :

Array ( 
[1] => 1e arrondrissement 
[3] => 2e arrondrissement 
[4] => 5e arrondrissement 
[2] => 8e arrondrissement 
[0] => 10e arrondrissement 
)

推荐阅读