如何在PHP中以字符串形式获取数组变量名?

如何在PHP中以字符串形式获取数组变量名?,php,Php,我需要这样一个函数: $foo = "bar"; $arr['bar'] = "foo"; myfunc(array($foo,$arr['bar'])); // return array('foo','bar') 有什么办法可以做到这一点吗?这在PHP中可能吗?您可以从字符串名称中获取一个变量,如下所示: $foo = "123"; $bar = "foo"; var_dump($$bar); // string(3) "123" 但据我所知,你不能走另一条路,找到一个变量的名称 无

我需要这样一个函数:

$foo = "bar";

$arr['bar'] = "foo";


myfunc(array($foo,$arr['bar'])); // return array('foo','bar')

有什么办法可以做到这一点吗?这在PHP中可能吗?

您可以从字符串名称中获取一个变量,如下所示:

$foo = "123";
$bar = "foo";
var_dump($$bar); // string(3) "123"
但据我所知,你不能走另一条路,找到一个变量的名称

无论如何,不需要知道变量的名称。尽可能使用关联数组。


<?php
 $foo = "bar";

 $arr['bar'] = "foo";

 echo $$arr['bar']; //returns bar

 myFunc(array($foo,$$arr['bar']));
?>

那就行了。

太多的“foo”和“bar”。清理您试图询问的内容。在我看来,您的函数应该以相反的顺序返回数组,因此
//返回数组('bar','foo')
这个函数有很多种设计方法,因为它定义得不够好。试着把函数想象成一个函数,这是可能的。你到底需要它做什么?你当然可以把一个数组传递给一个函数,如果你是这么问的话。我的问题是这样的,但我想同时使用数组和变量,例如:
$arr['foo']=“bar”;myfunc($arr['foo'])//返回数组键foo
我的问题是这样的,但我想同时使用数组和变量,例如:
$arr['foo']=“bar”;myfunc($arr['foo'])//返回数组键foo