数组提取方法的优缺点

时间:2011-06-06 04:31:42

标签: php arrays

哪种方法适合使用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'];
} 

我想了解这些方法的优缺点。或任何其他方法。

谢谢

2 个答案:

答案 0 :(得分:4)

extract()应该谨慎使用。但是如果你想从关联数组中获得一组有限的已知变量,那就完全没了问题。

然而,

list()通常不适用于关联数组。它适用于数字索引数组,并将它们分配给局部变量。 list()等同于extract(array_combine($list_keys, $array_values));

最后是正常的数组访问,如果你只需要访问一些数组条目,最常见也是最可取的。很明显,除了与现有局部变量冲突最少之外,其他地方也很受欢迎。

答案 1 :(得分:1)

尽可能避免extract()(大多数地方)。它对符号表做了一些理智的语言不允许的事情。

list()和显式数组提取之间,list()可能更可取,因为它更简洁一些。但它要求你有一个有序数组,而不是一个关联数组。