Кажется, вы знакомы с фактом, что ksort()
чувствителен к регистру.
Причина мне неясна, но есть простое решение.
uksort()
позволяет вамчтобы отсортировать массив с помощью пользовательской функции, однако, как бы мы ни были ленивы, мы не хотим определять нашу собственную функцию и использовать нативную.Функция strcasecmp()
позволяет нам сравнивать строку без учета регистра и работает точно так же, когда мы определяем нашу собственную функцию.Когда строка имеет высокое значение, возвращается значение больше 0.Если значение меньше, возвращается меньшее значение и, если оно равно, функция возвращает 0. Итак, идеальный кандидат для нашей uksort()
функции.
Это будет работать для вас: $sorted = uksort($array, 'strcasecmp');