从没有键的前一个数组中提取变量?

时间:2018-12-27 06:41:28

标签: php

我有一个看起来像这样的数组:

print_r ($custDataColumns);
Array ( [0] => firstName [1] => lastName ) 

它是从先前的mySQL调用创建的。我需要根据值(在本例中为$ firstName和$ lastName)创建变量。似乎提取可以使用以下命令轻松完成此操作:

extract($custDataColumns);

PHP不会引发任何错误,但是我不知道您以后如何引用变量,因为从我见过的其他PHP示例中,似乎该变量将被命名为$ [0]或$ 0。有没有办法提取没有用户定义键的PHP数组?

注意:我还不需要变量中包含数据,我只需要在此时创建它们以在脚本的稍后位置设置数据即可。

2 个答案:

答案 0 :(得分:1)

阅读manual,您会发现:

  

您必须使用关联数组;除非您使用EXTR_PREFIX_ALLEXTR_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);