typo: array
aleksandr-shevchenko opened this issue · 0 comments
https://www.php.net/manual/ru/language.types.array.php
array(
key => value,
key2 => value2,
key3 => value3,
...
)
-->
array(
key => value,
key2 => value2,
key3 => value3,
...
)
1.5 => 'c', // значение "b" перезапишет значение "c"
-->
1.5 => 'c', // значение "c" перезапишет значение "b"
true => 'g', // значение "c" перезапишет значение "g"
-->
true => 'g', // значение "g" перезапишет значение "c"
null => 'j', // значение "i" перезапишет значение "j"
-->
null => 'j', // значение "j" перезапишет значение "i"
2 => 'l', // значение "k" перезапишет значение "1"
-->
2 => 'l', // значение "l" перезапишет значение "k"
Как уже говорилось выше, если ключ не был указан, то будет взят максимальный из существующих целочисленных (int) индексов, и новым ключом будет это максимальное значение (в крайнем случае 0) плюс 1. Если целочисленных (int) индексов ещё нет, то ключом будет 0 (ноль).
-->
тут в одном месте 0, далее как перечеркнутый ноль
Замечание:
Массив, разыменовывающий скалярное значение, которое не является строкой (string), отдаст null. До PHP 7.4.0 не выдаётся сообщение об ошибке. Начиная с PHP 7.4.0, выдаётся ошибка E_NOTICE; с PHP 8.0.0 выдаётся ошибка E_WARNING.
-->
Вроде написано по-русски, но ничего не понятно.
Может стоит сделать приписку (от переводчиков) что это означает следующее:
-
доступ к элементу строки с несуществующим индексом вернет пустую строку
-
а доступ к несуществующему элементу array вернет NULL
<?php
$str = 'abcd';
$c = $str[1];
echo "\$c = '" . $c . "'", PHP_EOL;
$c = $str[22];
var_dump($c);
$a = array(1, 2, 3);
$b = $a['abc'];
var_dump($b);
?>
напечатает
$c = 'b'
PHP Warning: Uninitialized string offset 22 in php_type_array_3.php on line 6
PHP Stack trace:
PHP 1. {main}() php_type_array_3.php:0
PHP Warning: Undefined array key "abc" in php_type_array_3.php on line 11
PHP Stack trace:
PHP 1. {main}() php_type_array_3.php:0
Warning: Uninitialized string offset 22 in php_type_array_3.php on line 6
Call Stack:
0.0389 390232 1. {main}() php_type_array_3.php:0
php_type_array_3.php:7:
string(0) ""
Warning: Undefined array key "abc" in php_type_array_3.php on line 11
Call Stack:
0.0389 390232 1. {main}() php_type_array_3.php:0
php_type_array_3.php:12:
NULL