Прежде всего, когда вы используете глобальные переменные в функции, вы должны использовать либо global
, либо $GLOBALS
, но не оба. Так должно выглядеть так:
function amty_putIntoImageCache( $i, $j){
global $amty_imgCache;
$amty_imgCache[ $i] = $j;
}
Во-вторых, почему вы не используете статический класс вместо глобальной переменной? Правильным дизайном для этого будет использование статического класса, например:
class amty {
static protected $images = array();
static public function put( $i, $j){
self::$images[$i] = $j;
}
}
amty::put( 100,0);
И (я полагаю, это то, о чем вы спрашивали), когда вы хотите использовать глобальную переменную во всем приложении на каждой странице (что означает после перезагрузки) вы должны использовать:
session_start() // Be careful to use this just once
$_SESSION['variable'] = 'This value will persist as long as session lives';
Сеанс существует для одного пользователя / одного соединения (php генерирует идентификатор сессии и сохраняет его (по умолчанию) в куки).
Если вам действительно нужны данные, чтобы быть доступными через все приложение, вы должны использовать базу данных или хранилище файлов.