Drupal: самый короткий код для получения всех результатов из массива db_result - PullRequest
0 голосов
/ 12 августа 2011

У меня есть короткий код для получения результатов db_query в массив:

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

Единственная проблема в том, что я получаю пустое значение массива:

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

Как я могу предотвратить пустое значение массива?

Ответы [ 2 ]

2 голосов
/ 15 августа 2011

Я нашел самый короткий код для получения всех результатов из db_query в массиве:

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

Полученный массив теперь выглядит так:

Array(
   [0] => 105
   [1] => 409
)
0 голосов
/ 12 августа 2011

Возможно что-то вроде.

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

Edit: Одна строка с использованием синтаксиса короткого замыкания.

while ($next = db_result($r) && $vids[] = $next);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...