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

Пример, который вы даете, является отличным. Закрытие - это механизм абстракции, который позволяет очень осторожно разделить проблемы. Ваш пример - это случай разделения инструментов (подсчета вызовов) на семантику (API отчетности об ошибках). Другие применения включают в себя:

  1. Передача параметризованного поведения в алгоритм (классическое программирование более высокого порядка):
    function proximity_sort(arr, midpoint) {
        arr.sort(function(a, b) { a -= midpoint; b -= midpoint; return a*a - b*b; });
    }
    
  2. Моделирование объектно-ориентированного программирования:
    function counter() {
        var a = 0;
        return {
            inc: function() { ++a; },
            dec: function() { --a; },
            get: function() { return a; },
            reset: function() { a = 0; }
        }
    }
    
  3. Реализация управления экзотическим потоком, например, обработка событий jQuery и API AJAX.
37
задан SilentGhost 2 October 2009 в 19:06
поделиться

5 ответов

Yes. They are case sensitive.

PHP array indexes act as hash tables in your example. A capital letter "A" and a lowercase letter "a" have different hash values, therefore they will be different indexes.

57
ответ дан 27 November 2019 в 02:33
поделиться

Answer:

Yes, they are.

8
ответ дан 27 November 2019 в 02:33
поделиться

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

$dogs = array('Dog' => 'Wuff', 'dog' => 'wuff', 'DOG' => 'WUFF');
var_dump($dogs);
1
ответ дан 27 November 2019 в 02:33
поделиться

Yes, just like variable names (but not function names), hash keys are case-sensitive.

5
ответ дан 27 November 2019 в 02:33
поделиться

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

1
ответ дан 27 November 2019 в 02:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: