我有一个看起来像这样的数组:
print_r ($custDataColumns);
Array ( [0] => firstName [1] => lastName )
它是从先前的mySQL调用创建的。我需要根据值(在本例中为$ firstName和$ lastName)创建变量。似乎提取可以使用以下命令轻松完成此操作:
extract($custDataColumns);
PHP不会引发任何错误,但是我不知道您以后如何引用变量,因为从我见过的其他PHP示例中,似乎该变量将被命名为$ [0]或$ 0。有没有办法提取没有用户定义键的PHP数组?
注意:我还不需要变量中包含数据,我只需要在此时创建它们以在脚本的稍后位置设置数据即可。
答案 0 :(得分:1)
阅读manual,您会发现:
您必须使用关联数组;除非您使用
EXTR_PREFIX_ALL
或EXTR_PREFIX_INVALID
,否则数字索引数组将不会产生结果。
解决方案是:
$custDataColumns = ['firstName','lastName'];
print_r ($custDataColumns);
extract($custDataColumns, EXTR_PREFIX_ALL, 'myvar');
// now extracted variables are prefixed with `myvar_` because
// "Prefixes are automatically separated from the array key by an underscore character."
var_dump($myvar_0, $myvar_1); // what you need
答案 1 :(得分:-1)
$firstname = "Peter";
$lastname = "Griffin";
$age = "41";
$result = compact("firstname", "lastname", "age");
print_r($result);