Как правильно сортировать элементы из базы данных в «естественном» порядке - PullRequest
0 голосов
/ 06 октября 2019

Я пытаюсь отсортировать элементы из базы данных по названию. Элементы: iphone 5, iphone 6/6S, iphone 11, ..

, и когда я сортирую элементы с кодом

SELECT *
FROM ".FPD_PRODUCTS_TABLE."
ORDER BY `title` ASC

, я получаю результат

iPhone 11
iPhone 5
Iphone 6/6S
...

Я также попытался отсортировать по длине символа, но затем я снова получаю неправильный порядок.

Как я могу получить ASC порядок, который будет правильным:

iphone 5
iphone 6/6S
iphone 11
...

1 Ответ

0 голосов
/ 07 октября 2019

Заказ в Php:

<?php
$rows = [
    ['model' => 'Samsung Galaxy'],
    ['model' => 'IPhone 11'],
    ['model' => 'iPhone 5'],
    ['model' => 'iphone 6/6S']
];

$key_models = array_column($rows, 'model');
natcasesort($key_models);

foreach($key_models as $k => $v)
    echo $rows[$k]['model'], "\n";

Выход:

iPhone 5
iphone 6/6S
IPhone 11
Samsung Galaxy
...