Я не знаю, была ли это еще проблема, но хотелось начать думать об этом.
Вопрос:
« Являются ли индексы массива 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']