Drupal:从数组中获取db_result的所有结果的最短代码

时间:2011-08-12 09:04:29

标签: arrays drupal

我有一个简短的代码将db_query的结果导入数组:

$r = db_query('SELECT vid FROM {node_revisions} WHERE nid = %d', $node->nid);
while ($vids[] = db_result($r));

唯一的问题是,我得到一个空的数组值:

Array(
   [] => 105
   [] => 409
   [] =>
)

如何防止空数组值?

2 个答案:

答案 0 :(得分:2)

我找到了最短的代码来从数组中获取db_query的所有结果:

for ($vid; $vid = db_result($r); $vids[] = $vid);

结果数组现在看起来像这样:

Array(
   [0] => 105
   [1] => 409
)

答案 1 :(得分:0)

也许就像是。

$next_result = db_result($r);
while ($next_result)
{
   $vids[] = $next_result;
   $next_result = db_result($r);
}

编辑: 使用短路语法的单线。

while ($next = db_result($r) && $vids[] = $next);