Что говорится в названии. В частности, если у меня естьКак сравнить 2 строки по алфавиту
$array1['name'] = 'zoo';
$array2['name'] = 'fox';
Как я могу определить, что в алфавитном порядке $array2
«имя s должно прийти выше $array1
» s?
Что говорится в названии. В частности, если у меня естьКак сравнить 2 строки по алфавиту
$array1['name'] = 'zoo';
$array2['name'] = 'fox';
Как я могу определить, что в алфавитном порядке $array2
«имя s должно прийти выше $array1
» s?
strcmp
. Если первый аргумент strcmp лексикографически меньше второго, тогда возвращаемое значение будет отрицательным. Если оба они равны, тогда он вернет 0. И если первое будет лексикографически больше второго, тогда будет возвращено положительное число.
nb. Вы, вероятно, захотите использовать , который игнорирует случай ...
EDIT только реализованные значения из разных массивов, может array_merge первый, но не уверен, вот что вы хотите
Вы можете сравнить обе строки с strcmp
:
Возвращает < 0, если str1 составляет менее str2; > 0, если str1 больше str2 и 0, если они равны.
Я часто использую natsort
(Natural Sort), так как обычно я просто хочу сохранить массив для последующего использования.
Пример:
natsort($unsorted_array);
var_dump($usorted_array); // will now be sorted.
Я немного поздно (опять же я не программист был еще в 2009 году :-) Никто не говорил об этом, но вы можете просто использовать операторы, которые вы используете по числу.
< > <= >= == !=
и больше
Например:
'a' > 'b'
возвращает false
'a' < 'b'
возвращает true
Человек, это, безусловно, лучший ответ для этой темы, и у него не было ни одного upvote! Если вам нужно всего лишь сравнить две строки, чтобы просто найти тот, который идет первым в алфавитном порядке, это, безусловно, более легкое, самое умное решение. Тем не менее, настолько глупо, что это почти больно. –
@MarcosBuarque: Я ценю это. Мне было только 8 лет с опозданием с моим ответом :-) – JMRC
Вы можете найти [ 's ($ array1 [ 'имя']) -> CompareTo ($ array2 [ 'имя']) '] (https://github.com/deli ght-im/PHP-Str/blob/8fd0c608d5496d43adaa899642c1cce047e076dc/src/Str.php # L495) или ['s ($ array1 ['name']) -> compareToIgnoreCase ($ array2 ['name'])'] (https: //github.com/delight-im/PHP-Str/blob/8fd0c608d5496d43adaa899642c1cce047e076dc/src/Str.php#L514) полезно, как показано в [этой автономной библиотеке] (https://github.com/delight-im/PHP -Str). – caw