我有一个函数,可以接收不限数量的参数。 (我为此使用func_get_args)
示例:function generate($one, $two, $three, ...)
每个参数代表另一个数组中的一列(我们称之为$array
)。
我想接收$array[$one][$two][$three]
上另一个数组的值
这意味着"[]"
的数量是无限的
我试图为此在var中生成一个var。
<?php
$ron = array("sir" => "yes");
$name = 'ron["sir"]';
echo var_dump(${$name});
?>
我的结果:
注意:未定义变量:ron [“ sir”] in C:\ Users \ ronr \ Desktop \ xampp \ htdocs \ lol.php,第5行为空
答案 0 :(得分:1)
实际上,错误是正确的,您正在定义一个名为ron["sir"]
的变量,如下所示:
${'ron["sir"]'} = 'foobar';
echo ${'ron["sir"]'};
。要在sir
数组中显示$ron
的值,应为:
$ron = array("sir" => "yes");
$name = 'ron';
var_dump(${$name}["sir"]);
答案 1 :(得分:1)
如果要将args用作数组值的路径,可以尝试以下操作:
$result = $array;
$args = func_get_args();
foreach($args as $arg) {
$result = $result[$arg];
}
var_dump($result);