PHP массив, чувствительны ли индексы массива к регистру? - PullRequest
37 голосов
/ 02 октября 2009

Я не знаю, если это проблема, но хотел бы начать думать об этом.

Вопрос:

" Являются ли индексы массива PHP чувствительными к регистру "?

Пример:

$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse","A"=>"Dog","B"=>"Cat","C"=>"Horse");
print_r($a);

Результаты:

Array ( [a] => Dog [b] => Cat [c] => Horse [A] => Dog [B] => Cat [C] => Horse ) 

Я запустил пару примеров, и это похоже на правду, просто хотел убедиться, что я вижу это правильно.

Ответы [ 6 ]

55 голосов
/ 02 октября 2009

Да. Они чувствительны к регистру.

Индексы массива PHP действуют как хеш-таблицы в вашем примере. Прописная буква «A» и строчная буква «a» имеют разные значения хэша, поэтому они будут разными индексами.

8 голосов
/ 02 октября 2009

Ответ:

Да, они есть.

5 голосов
/ 02 октября 2009

Да, точно так же как имена переменных (но не имена функций), ключи хеша чувствительны к регистру.

1 голос
/ 28 октября 2017

точно так же, как все остальные упоминали: «Да, они есть».

перед примером $ a ['id'] отличается от $ a ['ID']

1 голос
/ 03 октября 2009

Хотя это не относится к системе, с которой большинство людей знакомо (Windows), при рассмотрении любого нового языка или среды разумно предположить, что она будет чувствительна к регистру. PHP наряду с практически любым другим языком и средой общего пользования. Наиболее заметные исключения, которые приходят на ум (кроме вышеупомянутой Windows), это SQL и Delphi (Pascal).

1 голос
/ 02 октября 2009

Это достаточно легко проверить самостоятельно.

$dogs = array('Dog' => 'Wuff', 'dog' => 'wuff', 'DOG' => 'WUFF');
var_dump($dogs);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...