Как сравнить 2 строки по алфавиту
Что говорится в названии. В частности, если у меня есть
$array1['name'] = 'zoo';
$array2['name'] = 'fox';
Как определить, что имя в алфавитном порядке $array2
должно превышать $array1
?
Ответы
Ответ 1
Используйте strcmp
. Если первый аргумент strcmp лексикографически меньше второго, тогда возвращаемое значение будет отрицательным. Если оба они равны, тогда он вернет 0. И если первое будет лексикографически больше второго, тогда будет возвращено положительное число.
пь. Вероятно, вы хотите использовать strcasecmp(string1,string2)
, который игнорирует регистр...
Ответ 2
Вы можете сравнить обе строки с strcmp
:
Возвращает < 0, если str1 меньше str2; > 0, если str1 больше str2 и 0, если они равны.
Ответ 3
Я немного опаздываю (тогда я еще не был программистом еще в 2009 году:-) Никто еще не упомянул об этом, но вы можете просто использовать операторы, которые вы используете и на номере.
< > <= >= == !=
и более
Например:
'a' > 'b'
возвращает false
'a' < 'b'
возвращает true
http://php.net/manual/en/language.operators.comparison.php
Ответ 4
sort
ИЗМЕНИТЕ только реализованные значения из разных массивов, возможно array_merge сначала, но не уверен, что вы хотите
Ответ 5
Я часто использую natsort
(Natural Sort), так как обычно я просто хочу сохранить массив для последующего использования.
Пример:
natsort($unsorted_array);
var_dump($usorted_array); // will now be sorted.