php函数在一段时间循环

时间:2012-04-23 17:52:48

标签: php function while-loop

我在网上搜索过,或者我看不到它。

我想做以下事情:

<?php

 function abc(){
   $sql = "SELECT * FROM table";
   $result = mysql_fetch_assoc($sql);
   $data = mysql_fetch_assoc($result);
}

?>

<? while(abc()) : ?>

   <?=article_title()?>
   <?=article_content()?>

<?=endwhile;?>

有人可以给我一个指示和/或示例吗?

非常感谢

2 个答案:

答案 0 :(得分:2)

PHP没有生成器/迭代器函数,所以你不能这样做。

但是,您可以返回一个数组并遍历该数组:

function abc() {
    // ...
    $rows = array();
    while($row = mysql_fetch_assoc($result)) { $rows[] = $row; }
    return $rows;
}

foreach(abc() as $row) {
    // do something
}

如果您调用的函数需要访问该行,请将其作为参数传递。使用全局变量将是非常糟糕/讨厌

答案 1 :(得分:1)

你有没有试过这样的事情?

<?php
function getData(){
    //get the data from the database
    //return an array where each component is an element found
}

$elems = getData();
foreach($elems as $e){
    doSomethingWith($e);
}