2014-11-24 73 views
-1

我有循环和内产生一些价值观,我需要插入的全局变量此值,但格式显示不正确的,因为给我的错误腓把这个全局变量

global ${$search}[$exp_t]; 

我需要用这个yes或是的,并插入全局VAR,因为它是需要工作我的功能,但我不知道如果我写得不好,因为给我错误,或者如果它是必要的以不同的方式写入这

我尝试其他工作方式,但没有得到好的结果,在循环Generatre字符串的值,例如值有这样的格式:$ search [name],$ search [phone]等,我需要显示insi德bucle同全球搜索$ [名],全球搜索$ [电话],等等,等等

Thank's最好的问候

更多的代码

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以这种方式工作

+0

'$ GLOBALS [“搜索”] [$ exp_t ]' – AbraCadaver 2014-11-24 20:06:31

+0

我尝试了里面的功能,但是当我把功能,并尝试做到这一点echo $ search [phone];不显示任何东西,问候 – Francisco 2014-11-24 20:11:43

+0

更多的代码来显示你需要做什么。 – AbraCadaver 2014-11-24 20:12:11

回答

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

...这将创建一个变量$foo在全球范围内的内容“栏”。

也使的error_reportingE_ALL)和的display_errors在你的PHP配置。如果你想启用它,你就知道你的代码是无稽之谈。这是你在开发机器上应该做的第一件事。

而且还阅读在PHP编程的基础知识最少,因为根据你这里给出的代码,你不知道,你在做什么:)