示例:
list($fruit1, $fruit2) = array('apples', 'oranges');
上面的代码当然可以正常工作,但是下面的代码:
list($fruit1, $fruit2) = array('fruit1' => 'apples', 'fruit2' => 'oranges');
给出:Notice: Undefined offset: 1 in....
有没有什么方法可以引用命名键,比如list('fruit1' : $fruit1)
,你在未来的版本中看到过类似的东西吗?
7条答案
按热度按时间wqsoz72f1#
使用/来自PHP 7.1:
注意:如果可能的话,使用
[]
风格,也许list在未来会成为一种新的类型,谁知道呢...sqyvllje2#
**编辑:**这种方法在过去很有用(九年前就有人提出并回答了这个问题),但请参阅下面Kerem的answer,了解使用更新的PHP 7+语法的更好方法。
试试
extract()
函数,它会创建所有键的变量,并赋给它们的相关值:8mmmxcuj3#
那么使用array_values()呢?
chy5wohz4#
实现起来非常简单。
输出:
1, , 3
array_values
不同)extract
不同)-名称冲突风险更小,IDE支持更好zpf6vheq5#
如果你在我的情况下:
list()只对数值数组有效。所以如果可以的话,在fetch()或fetchAll()中留空-〉让它有两个选项:数值数组和关联数组。它将工作。
mwecs4sa6#
可以认为这是一个很好解决方案:
yrwegjxp7#