Я знаю, что область действия работает по-разному в PHP и в Javascript.
Когда я впервые начал изучать Javascript (через пару лет изучения PHP), я изначально не осознавал, что переменные, объявленные вне функции, также доступны внутри функции.
Теперь (после нескольких лет сосредоточения внимания на Javascript) я озадачен тем, как вернуть переменную области видимости функции PHP обратно в среду дополнительных функций.
Пример:
$myArray = array();
function addItemsToMyArray($myArray) {
$myArray[] = 'apple';
$myArray[] = 'banana';
$myArray[] = 'coconut';
return $myArray;
}
addItemsToMyArray($myArray);
echo count($myArray); /* Gives 0 */
Почему count($myArray)
дает 0
вместо 3
?
function addItemsToMyArray(&$myArray)
- person Julien Rousé   schedule 03.11.2017$myArray = addItemsToMyArray($myArray);
- person Alex Blex   schedule 03.11.2017&
, он скажет PHP записывать в $myArray глобально, а не локально. Я так во всяком случае это понимаю. Может быть, кто-то даст более развернутый ответ? Или правильнее? Изменить: @AlexBlex тоже прав - person Julien Rousé   schedule 03.11.2017