Php把它放在全局变量中

时间:2014-11-24 20:04:03

标签: php arrays global-variables

我有循环和内部生成一些值,我需要在全局变量中插入此值,但格式显示没有权利,因为给我错误

global ${$search}[$exp_t];

我需要使用这个是或是并插入全局变量,因为它是必要的工作我的功能但我不知道我写错了因为给我错误或如果howewer它必须以不同的方式写到这个

我尝试其他方式的作品,但没有得到好的结果,在循环generatre字符串与值,例如值具有这种格式:$ search [name],$ search [phone]等,我需要在里面显示bucle与全球$ search [name],全球$ search [phone]等等相同

感谢最诚挚的问候

更多代码

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];

或多或少的功能mus以这种方式工作

1 个答案:

答案 0 :(得分:0)

保留字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';

...将在全局范围内创建一个带有“bar”的变量$foo

还在PHP配置中启用 error_reporting E_ALL)和 display_errors 。如果您启用它,您就会知道您的代码是无意义的。这是您在开发机器上应该做的第一件事。

还至少阅读了PHP编程的基础知识,因为根据你在这里提供的代码,你不知道,你在做什么:)