jay*_*jay 0 php function nested-loops
这是我的功能:
function loop($id){
unset($result, $sql, $query);
$sql = " SELECT parent_id FROM page_entries WHERE id = '$id' ";
$query = mysql_query ( $sql )or die(mysql_error());
$result = mysql_fetch_assoc ( $query )or die(mysql_error());
if ( $result['parent_id'] != 0 ) {
echo $result['parent_id']."... looping<br>";
loop($result['parent_id']);
} else {
echo $result['parent_id']."... done loop";
return $result['parent_id'];
}
}
echo loop('2');
Run Code Online (Sandbox Code Playgroud)
我正在回应parent_id进行测试.这是输出到浏览器的内容:
1 ...循环
0 ...完成循环
在我不确定发生了什么的情况下echo loop('2'),return $result['id']如果我注释掉echo函数中的行,则不会回应任何内容.我已经尝试通过改变返回来测试,但return 'foo';仍然没有.
有任何想法吗?
Mik*_*kel 10
我想,一目了然
loop($result['parent_id']);
Run Code Online (Sandbox Code Playgroud)
应该
return loop($result['parent_id']);
Run Code Online (Sandbox Code Playgroud)
否则你的if分支什么都没有返回.