我的功能如下:
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>'
我做错了什么?
答案 0 :(得分:3)
当您递归时,您需要使用返回值而不是丢弃它:
getTree($entry['children'], $html);
应该是这样的:
$html = getTree($entry['children'], $html);