PHP功能在一段时间循环
问题描述:
我在网上搜索或我只是没有看到它。PHP功能在一段时间循环
我要做到以下几点:
<?php
function abc(){
$sql = "SELECT * FROM table";
$result = mysql_fetch_assoc($sql);
$data = mysql_fetch_assoc($result);
}
?>
<? while(abc()) : ?>
<?=article_title()?>
<?=article_content()?>
<?=endwhile;?>
可能有人给我一个方向和/或例子吗?
非常感谢您
答
你试过做这样的事情吗?
<?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);
}
答
PHP没有发电机/迭代器的功能,所以你不能做到这一点。
但是,您可以返回一个数组和遍历数组:
function abc() {
// ...
$rows = array();
while($row = mysql_fetch_assoc($result)) { $rows[] = $row; }
return $rows;
}
foreach(abc() as $row) {
// do something
}
如果调用需要访问该行的功能,把它作为一个参数。使用它的全局变量将是非常糟糕/讨厌
+0
这就是为什么我说迭代器*函数*。在python中,你可以使用'yield'关键字来完成OP想要的内容 - 这在PHP中不存在。 – ThiefMaster 2012-04-23 17:56:40
笏你想达到吗?当你完成后,对结果执行mysql_free_result()的函数 – 2012-04-23 17:58:22
。 – craniumonempty 2012-04-23 18:00:06
像他们使用的wordpress,while(function()):,endwhile ;.我想做出类似的东西,它使模板设计变得更容易 – rayrule 2012-04-23 18:03:01