如何解决为什么函数回显一个结果?
|function blog_gettag(){
$terms = MysqL_query(\'SELECT vid,name FROM term WHERE vid=2\');
foreach ($terms as $term){
return $term->name;
}
}
当我调用函数“ 1”时。只有一个结果。但是当我更改功能时重新运行回显。然后显示ѭ2it。为什么?
解决方法
那是因为您只退回一项。找到第一个项目后,您将立即返回。
一种解决方案是返回具有所有标签名称的数组,如下所示:
function blog_gettag(){
$terms = mysql_query(\'SELECT vid,name FROM term WHERE vid=2\');
$items = array(); // Array holding return values
foreach ($terms as $term){
$items[] = $term->name;
}
return $items;
}
然后,您可以像这样遍历所有标签:
$tags = blog_gettag();
foreach($tags as $tag) {
echo $tag;
}
,return
将停止进一步运行该功能。这意味着您的功能已经完成了必须要做的事情。如果希望它返回所有标签,则应更改以下内容:
function blog_gettag(){
$aTerms = array();
$terms = mysql_query(\'SELECT vid,name FROM term WHERE vid=2\');
foreach ($terms as $term){
$aTerms[] = $term->name ;
}
return $aTerms;
}
,返回将结束循环,
http://php.net/manual/zh/function.return.php
,函数仅在需要返回某些内容之前执行。 Return本质上表示“这是方法的输出”,然后它停止执行所有操作。
在您的示例中,您将返回第一行,然后该函数存在。通过产生数组的解决方法:
function blog_gettag(){
$terms = mysql_query(\'SELECT vid,name FROM term WHERE vid=2\');
$names = array();
foreach ($terms as $term){
$names[] = $term->name;
}
return $names;
}
,一个函数只能在php中返回一个值。如果要完整的数组,则首先将所有结果保存在数组中,然后返回该数组
,当您按“ 5”时,该函数将控制权交给调用者,因此您将在循环的第一次迭代后退出循环。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。