0

如何将 $ 符号添加到字符串以使其成为变量?

Eg: 
$consumer = array()
$industrial = array()//These 2 are in a separate include file.

$var = $_GET['val'] // value here is 'consumer'

function ('$'.$var,$bar) //I'm trying to make consumer -> $consumer
4

6 回答 6

4

不是达到该值的最佳方式,但 PHP 支持:$$var :)

于 2012-09-06T16:10:28.210 回答
4
$$var

将是你想要的。第二个 $ 表示变量的值应该用作变量的名称。

http://php.net/manual/en/language.variables.variable.php有更多细节。

于 2012-09-06T16:10:30.847 回答
0

为什么不只是:

if ($_GET['val'] == 'customer') {
    function($bar);
}
于 2012-09-06T16:09:43.687 回答
0
$consumer = array()
$industrial = array()//These 2 are in a separate include file.

$var = $_GET['val'] // value here is 'consumer'

function ($$var,$bar) //I'm trying to make consumer -> $consumer

不要忘记检查 $_GET['val'] 的值是否是您(程序员)期望的值,而不是其他值。

于 2012-09-06T16:11:20.060 回答
0

只需执行以下操作:

$var = '我的字符串';

${$var} = '输出';

回声 $myString;

于 2012-09-06T16:25:50.127 回答
0

好的,这是您绝对应该包括的白名单。

$whitelist = array('customer', 'consumer');
$fallback = $whitelist[0];
$var = in_array($whitelist, $_GET['val'] ? $_GET['val'] : $fallback;
于 2012-09-06T18:02:14.400 回答