Как я могу преобразовать все значения в массиве в нижний регистр в PHP?
Что то типа array_change_key_case
?
использовать array_map()
:
$yourArray = array_map('strtolower', $yourArray);
Если вам нужен вложенный массив в нижнем регистре (от Яхьи Уддина ):
$yourArray = array_map('nestedLowercase', $yourArray);
function nestedLowercase($value) {
if (is_array($value)) {
return array_map('nestedLowercase', $value);
}
return strtolower($value);
}
mb_strtolower
$yourArray = array_map('mb_strtolower', $yourArray);
Только что проверил и на кириллицеПросто для полноты: вы также можете использовать
array_walk
:Из документов PHP:
Или напрямую через
foreach
цикл с использованием ссылок :Обратите внимание, что эти два метода изменяют массив «на месте», в то время как
array_map
создают и возвращают копию массива, что может быть нежелательно в случае очень больших массивов.источник
array_walk_recursive()
. Ещеmb_strtolower()
потому, что мир многоязычный.Вы можете использовать array_map (), установив для первого параметра значение 'strtolower' (включая кавычки), а для второго параметра - $ lower_case_array.
источник
Если вы хотите записать все значения во вложенном массиве в нижний регистр , используйте следующий код:
Так:
вернется:
источник
array_change_value_case
продолжая
источник
array_map()
это правильный метод. Но если вы хотите преобразовать определенные значения массива или все значения массива в нижний регистр один за другим, вы можете использоватьstrtolower()
.источник
Решение AIO / Рекурсивный / Юникод | UTF-8 | Поддерживается многобайтовый формат!
Пример:
Вывод
источник
Вы не говорите, многомерный ли ваш массив. Если это так, array_map не будет работать один. Вам нужен метод обратного вызова. Для многомерных массивов попробуйте array_change_key_case .
источник
`$ Color = array ('A' => 'Blue', 'B' => 'Green', 'c' => 'Red');
$ strtolower = array_map ('strtolower', $ Color);
$ strtoupper = array_map ('strtoupper', $ Color);
print_r ($ strtolower); print_r ($ strtoupper); `
источник
Вы также можете использовать комбинацию
array_flip()
иarray_change_key_case()
. Смотрите этот постисточник
array_flip()
если массив содержит повторяющиеся значения.