Сообщение от Белый шум
|
но означает ли это что массивы в PHP не соответствуют определению ассоциативных массивов?
|
Да, не соответствуют. В РНР — это только частично ассоциативный массив, т. е. его ключи ограничены типом строка, что означает, что он ничем не отличается от экземпляра класса Object в JS.
Зачем вообще в РНР упоминается в связи с [] или array() название ассоциативный массив — неясно, почему нельзя называть вещи своими именами — динамический объект, экспандо (оно ведь и есть объект-распашонка) или расширяемый null. Функции json_encode и json_decode могут показать это!
[] или array() не могут произвести ничего такого, чего нельзя было бы представить при помощи JSON.
Сообщение от Белый шум
|
Разработчики PHP считают, что не означает...
|
Разработчики PHP считают и многие другие нетрадиционные и странные вещи нормальными...
Код:
|
php > print_r((string)247 > '0000247' ? 'Это норма — говорит PHP' : 'Нет');
Нет
php > print_r((string)247 < '0000247' ? 'Это норма — говорит PHP' : 'Нет');
Нет
php > print_r((string)247 == '0000247' ? 'Это норма — говорит PHP' : 'Нет');
Это норма — говорит PHP
php > print_r((string)247 === '0000247' ? 'Это норма — говорит PHP' : 'Нет');
Нет |
Т. е. для PHP условие — '247' > '0000247' неверно, а равенство '247' == '0000247' верно. Это значит, что PHP... «Разработчики PHP считают, что не означает...»
Код:
|
php > print_r(-4.8 > NULL ? 'Это норма — говорит PHP' : 'Нет');
Это норма — говорит PHP |
Учитывая, что в PHP любая переменная может возникнуть в любом месте (с тем самым значением NULL) и даже не произойдёт завершение с ошибкой, означает ли, что PHP... «Разработчики PHP считают, что не означает...» Это норма — говорит PHP, что NULL ведёт себя как −∞.
Много ещё есть вещей типа «Это норма — говорит PHP», однако однажды случилось такое... Я думаю, что в PHP стоило ожидать, что нечто такое произойдёт —
T_PAAMAYIM_NEKUDOTAYIM. Если в традиционных языках написали бы в ошибке T_DOUBLE_COLON, то в PHP проявляется неконсистентность даже среди языков, на которых именуются операторы языка. Это означает, что в PHP... Ах, простите, «Разработчики PHP считают, что не означает...» Это норма — говорит PHP.