PHP - 数组键名可以使用变量名

8
我正在寻找类似于extract()相反的东西。
比如说我有几个变量。
$state = "FL";
$city = "Hollywood";
$zip = "33021";

如何创建一个数组,使用变量名作为数组键:
array( "state"=>"FL", "city"=>"Hollywood", "zip"=>"33021" );
1个回答

10
你应该使用compact()函数。例如:
$state = "FL";
$city = "Hollywood";
$zip = "33021";
$array = compact('state', 'city', 'zip');

编辑:看起来正是你所需要的,不知道为什么你认为你不需要它。如果你正在寻找与extract()完全相反的东西,比如将所有可用的变量放入一个数组中,那是不可能的,因为PHP会将当前作用域中的所有变量都放入数组中。你必须以某种方式指定哪些变量。

我不确定你是否正确,但你应该意识到他在问题中明确表示它不是 compact(),对吧? - Greg Guida
compact() 有一个缺点,就是大多数 IDE 都无法意识到这些变量中存在隐藏的引用。 - David Mann
是的,compact() 是答案,但请避免使用它以避免混淆。 - Player1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接