我有这样的函数:
function getTree($r, $html) {
foreach ($r as $entry) {
if (count($entry['children']) == 0) {
$html .= '<li>' . $entry['parent_entry_id'] . '</li>';
} else {
getTree($entry['children'], $html);
}
//var_dump($html);
}
return $html;
}
如果我这样称呼它
$html = '';
$dzoni = getTree($results, $html);
echo $dzoni;
E期望得到很少的列表元素,但是我得到了空字符串。数据是没有问题的。如果我对它们执行var_dump操作,就会得到结果。但是结果并不总是连接在一起的。它只是在某个点上停止。var_dump示例:
C:\wamp64\www\co_3\regular_view.php:72:string '<li>17</li>'
C:\wamp64\www\co_3\regular_view.php:72:string '<li>17</li><li>18</li>'
C:\wamp64\www\co_3\regular_view.php:72:string '<li>22</li>'
我做错了什么?
发布于 2018-06-11 04:55:11
递归时,需要使用返回值,而不是丢弃返回值:
getTree($entry['children'], $html);
应该是这样的:
$html = getTree($entry['children'], $html);
https://stackoverflow.com/questions/50787960
复制相似问题