ddimonn8080
@ddimonn8080

Почему так не работает?

Здравствуйте. Нужно создать глобальный массив с именем которое зависит от $id.

Пробовал так - не работает:
<?php

$id = 1;

$arrayName = 'tmpl_' . $id;

global $$arrayName;

$$arrayName[] = 'string';

var_dump($$arrayName);


В данном случае должен создаться глобальный массив $tmpl_1

В чём ошибка?
  • Вопрос задан
  • 139 просмотров
Решения вопроса 1
@bloodmoonshard
Попробуй так
<?php
$id = 1;
$arrayName = 'tmpl_' . $id;
global ${$arrayName};

${$arrayName}[] = 'string';

var_dump(${$arrayName});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@hufawoso
<?php

$id = 1;

$arrayName = 'tmpl_' . $id;

global $$arrayName;

($$arrayName)[] = 'string';

var_dump($$arrayName);
Ответ написан
Stalker_RED
@Stalker_RED
$GLOBALS['tmpl' . $id] = ",..,";
Но вообще, лучше избегать использования глобальных переменных.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы