【发布时间】:2012-03-11 21:07:47
【问题描述】:
PHP 有一个函数提取,可以像这样转换数组:
$array = array(
'var1' => 1,
'var2' => 2
);
到:
$var1 = 1;
$var2 = 2;
现在,我需要相反的,我的变量很少:
$var3 = 'test';
$test = 'another';
$datax = 1;
这需要:
$array = array(
'var3' => 'test',
'test' => 'another',
'datax' => 1
);
PHP中有这样的东西吗?
【问题讨论】:
-
如果这些是全局范围,你已经在
$GLOBALS['test']. $GLOBALS['var3']$GLOBALSreference拥有它 -
它在manual page for
extract上写着compact。怎么没找到? -
正确的答案是“创建一个包含属性 var3、test 和 datax 的类”,但不幸的是,从 SO 的角度来看,这不是您问题的答案。
-
(对于在这里徘徊的初学者。)不,这个特定问题的“正确”答案 - 即没有自以为是或“聪明”,假设实际不存在的各种背景条件...... -- 绝对不“创建一个类”,或将任何其他既不需要也没有必要的概念或复杂性纳入问题空间。它与 SO 无关(但与奥卡姆剃刀和一般概念卫生有关)。 (如果问题或上下文是关于架构、OOP 或编码最佳实践等,CodeCaster 会说得通的。)