哪种方法适合使用in循环从数组中获取值。
1. list()
2. extract()
3. Normal extracting like $array['id']
代码段:
$sel = mysql_query("SELECT id,name from user");
while($get = mysql_fetch_array($sel)){
//Which one is good
extract($get);
loop($id,$name)=$get;
$id = $get['id'];
}
我想了解这些方法的优缺点。或任何其他方法。
谢谢
答案 0 :(得分:4)
extract()
应该谨慎使用。但是如果你想从关联数组中获得一组有限的已知变量,那就完全没了问题。
list()
通常不适用于关联数组。它适用于数字索引数组,并将它们分配给局部变量。 list()
等同于extract(array_combine($list_keys, $array_values));
最后是正常的数组访问,如果你只需要访问一些数组条目,最常见也是最可取的。很明显,除了与现有局部变量冲突最少之外,其他地方也很受欢迎。
答案 1 :(得分:1)
尽可能避免extract()
(大多数地方)。它对符号表做了一些理智的语言不允许的事情。
在list()
和显式数组提取之间,list()
可能更可取,因为它更简洁一些。但它要求你有一个有序数组,而不是一个关联数组。