PHP-массив, чувствительны ли массивы к регистру?

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

Вопрос:

« Являются ли индексы массива 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 ) 

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

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

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

Ответ:

Да, они.

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

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

 $dogs = array('Dog' => 'Wuff', 'dog' => 'wuff', 'DOG' => 'WUFF'); var_dump($dogs); 

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

как и все остальные, «Да, они есть».

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