繁体   English   中英

如何从mysql结果集中提取列?

[英]how to extract a column from mysql result set?

从mysql结果集中提取列的最佳方法是什么? 我的结果集如下:

[0] = ('id'=>1, 'name'=>a),
[1] = ('id'=>2, 'name'=>b),
[2] = ('id'=>3, 'name'=>c)

如何从中提取“名称”列作为数组? 我可以使用for循环来做。 但是想知道是否有更好的可重用解决方案?

您可以使用array_map来执行此操作。

function getName($elem) {
  return $elem['name'];
}
$names = array_map('getName', $input);

// PHP 5.3.0 or higher allows anonymous functions
$names = array_map(function($e) { return $e['name']; }, $input);
$rows = array(
 array('id'=>1, 'name'=>'a'), 
 array('id'=>2, 'name'=>'b'),
 array('id'=>3, 'name'=>'c')
);


$names = array();    
foreach ($rows as $row) {
 $names[] = $row['name'];
}

与使用array_map之类的东西相比,使用简单的循环将执行得更快(这会产生更多的开销)。 速度差异可能高达100%。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM