rsk*_*k82 39 php associative-array list
例:
list($fruit1, $fruit2) = array('apples', 'oranges');
Run Code Online (Sandbox Code Playgroud)
上面的代码当然可行,但代码如下:
list($fruit1, $fruit2) = array('fruit1' => 'apples', 'fruit2' => 'oranges');
Run Code Online (Sandbox Code Playgroud)
得到: Notice: Undefined offset: 1 in....
有没有办法以某种方式用列表来引用命名键list('fruit1' : $fruit1),你有没有看到这样的计划用于将来的版本?
K-G*_*Gun 53
使用PHP 7.1 ;
$array = ['fruit1' => 'apple', 'fruit2' => 'orange'];
// [] style
['fruit1' => $fruit1, 'fruit2' => $fruit2] = $array;
// list() style
list('fruit1' => $fruit1, 'fruit2' => $fruit2) = $array;
print $fruit1; // apple
Run Code Online (Sandbox Code Playgroud)
小智 43
使用array_values()怎么样?
<?php
list($fruit1, $fruit2) = array_values( array('fruit1'=>'apples','fruit2'=>'oranges') );
?>
Run Code Online (Sandbox Code Playgroud)
lan*_*ons 42
编辑:这种方法在当天很有用(它在7年前确实得到了回答),但是请参阅下面的K-Gun的答案,以获得更新的PHP 7+语法更好的方法.
试试这个extract()功能.它将创建所有键的变量,并将其分配给其关联值:
extract(array('fruit1' => 'apples', 'fruit2' => 'oranges'));
var_dump($fruit1);
var_dump($fruit2);
Run Code Online (Sandbox Code Playgroud)