PHP多变量分配“ key => value”array

问题描述 投票:0回答:3

PHP的

list
关键字非常适合从数组$ a中取出变量:

    $a = array(1,22);
    list($b, $c) = $a;
    var_dump("$a $b $c");

但对于以下的数组$ a2的形式,我没有使用

key => value

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");

php arrays list variables variable-assignment
3个回答
1
投票
each()()从数组中返回当前键和值对,然后推进数组光标。

似乎是您需要的功能

1
投票

关注下面的Evil先生的评论(Col Shrapnel,请参阅他的个人资料),我从未说过以下方式不同,可以使用两种方法,但我建议在用户注入的数据上使用这些方法可能会造成安全问题,可能会自行使用它,或者没有用户输入的数据。

它似乎与Associatieve数组无法使用,但是您可以做类似的事情:

0
投票
$a2


示例:

extract()

恢复:

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;
函数,但我通常避免使用它,因为在用户输入的值上使用它可能会造成安全危害。根据您的选择,您可能需要使用它,或者如果数据不是来自用户端的。
    

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.