PHP的list
关键字非常适合从数组$ a中取出变量
$a = array(1,22);
list($b, $c) = $a;
var_dump("$a $b $c");
但对于key => value
形式的数组$ a2,如下所示,我未能使用list
$a2 = array('b'=>1,'c'=>22);
list($b, $c) = $a2;
list($bkey, $b, $ckey, $c) = $a2;
list( list($bkey, $b), list($ckey,$c) ) = $a2;
var_dump("$a2 $b $c");
上述三项任务都失败了。我放弃了。
如果你知道如何获得钥匙和钥匙数组$ a2中的值,请帮助!
答案 0 :(得分:1)
我认为你应该使用每个功能。
each()从数组返回当前键和值对并使数组光标前进。
答案 1 :(得分:1)
根据下面的Evil先生的评论(Col Shrapnel,看他的个人资料),我从未说过以下两种方式不同,可以使用其中任何一种,但我建议在用户输入的数据上使用这些方法可能会产生安全问题,使用如果没有用户输入的数据,则由您自己承担风险。
它似乎不适用于associatieve数组,你可以这样做:
foreach ($array as $key => $value) {
$$key = $value;
}
示例:强>
$a2 = array('b'=>1,'c'=>22);
foreach ($a2 as $key => $value) {
$$key = $value;
}
echo $b . '<br>';
echo $c;
<强>结果:强>
1
22
也可以使用extract()
函数但我通常会避免使用它,因为在用户输入的值上使用它可能会产生安全隐患。根据您的选择,您可能希望使用它,或者数据不是来自用户端。
答案 2 :(得分:0)
似乎你需要extract()
功能