php - 从数字开始对字符串数组进行排序
问题描述
我试图在 Symfony 中按名称对一组对象进行排序。但我不知道该怎么做,因为字符串以数字开头,所以顺序不好。
我尝试在我的存储库中使用 queryBuilder:
$qb = $this->createQueryBuilder('arrondissement')
->addOrderBy('arrondissement.nom', 'ASC');
$query = $qb->getQuery();
return $query->execute();
以及控制器中的 sort() 函数,
但正如你所看到的,情况并非完全如此。我想像:1er arrondissement, 2e ...., 20e..., Paris
解决方案
例如,您可以使用 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
)
推荐阅读
- regex - 除了您指定的内容之外,最简单的 REGEX 捕获所有内容的方法是什么?
- amazon-web-services - 带有 AWS S3 存储桶的 Mulesoft S3 连接器
- keras - tf.keras.datasets.imdb.load_data 的问题
- python - 如何在使用openCV python播放时移动视频窗口
- ubuntu - 为什么在 vagrant box ubuntu/bionic64 上安装 nodejs 时“哈希和不匹配”
- google-calendar-api - 日历 API 活动参与者响应状态始终更改为“需要操作”
- python - 平均函数的逻辑差异
- c# - C#如何将没有UDT的DataTable参数传递给SQL Server
- facebook - 使用 Facebook 登录 AWS Cognito 时出错
- makefile - 我正在尝试将现有的 macOS 生成文件转换为将在 Windows10 上的 mingw-W64 下运行的生成文件