У меня есть цикл и внутри генерировать некоторые значения, мне нужно вставить эти значения в глобальную переменную, но формат не показывает права, потому что дают мне ошибки
global ${$search}[$exp_t];
Мне нужно использовать это да или да и вставить в глобальную переменную, потому что это необходимо для работы моей функции, но я не знаю, пишу ли я плохо, потому что из-за ошибки или, тем не менее, необходимо писать иначе, чем это.
Я пробую другие способы для работы, но не получаю хороших результатов, в строках цикла со значениями и, например, значения имеют такой формат: $ search [name], $ search [phone] и т. Д., И мне нужно показать внутри bucle то же самое как глобальный поиск $ [имя], глобальный поиск $ [телефон] и т. д., и т. д.
Спасибо с наилучшими пожеланиями
Больше кода
function showcode()
{
foreach($exp_tabla as $exp_t)
{
//global ${$exp_t};
///$val=${$search}[$exp_t];
///global $$search[$exp_t];
$GLOBALS['search'][$exp_t];
}
}echo $search[alias];
Более или менее функция должна работать таким образом
Зарезервированное слово global
предназначен для доступа к глобальной переменной из области видимости функции.
Чтобы определить новую переменную в глобальной области видимости, используйте:
$GLOBALS[$search][$exp_t]
Если $search
содержит foo
у вас будет переменная $foo
определены в глобальной области.
Пример:
function set_foo() {
$search = 'foo';
$GLOBALS[$search] = 'bar';
}
set_foo();
var_dump($foo);
…будет выводить string(3) "bar"
Если вы хотите определить переменную с именем search
в глобальном масштабе, просто используйте $GLOBALS['search'] = 'bar';
,
$GLOBALS[$search] = 'bar';
определит переменную с именем в соответствии с тем, что переменная $search
содержит.
Также, если вы используете $foo[test]
Вы должны определить константу test
первый. Константы должны быть названы в верхнем регистре, поэтому:
define('TEST', 'foo');
$GLOBALS[TEST] = 'bar';
…это создаст переменную $foo
с содержанием «бар» в глобальном масштабе.
Также включить Отчет об ошибках (E_ALL
) а также display_errors в вашей конфигурации PHP. Если бы вы включили его, вы знаете, что ваш код был ерундой. Это первое, что вы должны сделать на своей машине для разработки.
А также ознакомьтесь хотя бы с основами программирования на PHP, потому что в соответствии с представленным здесь кодом вы понятия не имеете, что вы делаете 🙂
Других решений пока нет …