Всем спасибо за терпенье, моё левое полушарие расстаяло. 1. определяется массив '$matrix' с ключом 'NULL' и значением '1'. 2. создаётся переменная с '$i' со значением 'b'. ( она не имеет никого отношения с массивом '$matrix' т. к. определена после обьявления массива) 3 выодим массив '$matrix' с ключом '[$i]' . Не сработает, потому-что ключа '$i' не существует, но, если не обьявлять переменную $i, то при вызове третьего действия функция 'print' сработает и определит этот ключ. Вот и вопрос. Почему срабатывает третье действие, ведь у массива '$matrix' нет ключа '$i' Если у вас нет терпенья или желания можете не отвечать PHP: <?php $matrix = array( $i => 1); $i = 'b'; print $matrix [$i]; ?>
Давайте так. Бывают люди, которые в силу склада ума плохо соображают в той или иной области. Может из вас получится гениальный художник, кто знает. Но в программировании слушайте других и не спрашивайте "почему?" - поптыка объяснить будет стрессом для всех. Итак, аксиома 1 для вас - все переменные до их использования должны быть проинициализированы значением. Если вы хотите использовать переменную где-то - напишите строчкой выше присваивание ей значения. Если вы не знаете еще какое значение - поставьте хотя бы 0. Вам это нужно выписать на стикер и приклеить к монитору. И только тогда, когда вы прочитаете эту тему и поймете ответы на все заданные вами вопросы - можете этот стикер от монитора отклеить.