【问题标题】:How to get variable variable with array value如何获取具有数组值的变量变量
【发布时间】:2019-01-06 13:23:27
【问题描述】:

如何将变量变量与数组一起使用以获得如下结果?

到目前为止我已经尝试过:

// $g_module_id_bar_1['id'] = 5;

$i = 1;

$variablename = 'g_module_id_bar_'.$i;
$key = '\'id\'';

echo $$variablename[$key];

结果应该是:5

【问题讨论】:

  • 最好是$g_module_id_bars[1]['id'] = 5;
  • 您使用的是什么版本的 PHP? PHP 7 中对Uniform Variable Syntax 所做的更改将影响最后一行的处理方式。

标签: php arrays string variables


【解决方案1】:

你几乎拥有它。

$key = '\'id\'';也改成$key='id';

原因是因为 PHP 理解 $key 包含一个字符串。正常访问数组时,您不会执行以下操作:

 <?php     
 $var = array("hello"=>"world");   
 echo $var["'hello'"];

这实际上就是你正在做的事情

查看完整解决方案: https://3v4l.org/qk5ZL

【讨论】:

  • 好吧,这是我的错误。感谢您的帮助。
  • @AdamMakowski =) np
【解决方案2】:

你正在尝试转义单引号,但这没用,只需使用字符串键:

$key = 'id';
echo $$variablename[$key]; // 5

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-24
    • 1970-01-01
    • 1970-01-01
    • 2021-12-22
    • 2016-04-09
    • 2016-03-30
    相关资源
    最近更新 更多