dongrunying7537 2014-01-22 12:23
浏览 40
已采纳

html作为php变量未正确呈现

Having the following method

  public function printDropdownTree($tree, $r = 0, $p = null) {
        foreach ($tree as $i => $t) {
            $dash = ($t['parent'] == 0) ? '' : str_repeat('-', $r) . ' ';
            printf("\t<option value='%d'>%s%s</option>
", $t['id'], $dash, $t['name']);
            if ($t['parent'] == $p) {
                // reset $r
                $r = 0;
            }
            if (isset($t['_children'])) {
                $this->printDropdownTree($t['_children'], ++$r, $t['parent']);
            }
        }
    }

which prints out nested select options and which works fine. But I would like to return the result as variable and I was trying to achieve this like

  public function printDropdownTree($tree, $r = 0, $p = null) {
        $html = "";
        foreach ($tree as $i => $t) {
            $dash = ($t['parent'] == 0) ? '' : str_repeat('-', $r) . ' ';
            $html .= '<option value="'.$t['id'].'">'.$dash.''.$t['name'].'</option>';
            if ($t['parent'] == $p) {
                // reset $r
                $r = 0;
            }
            if (isset($t['_children'])) {
                $this->printDropdownTree($t['_children'], ++$r, $t['parent']);
            }
        }


         return $html;
    }

but the $dash won't get rendered

  • 写回答

1条回答 默认 最新

  • dongmisa4779 2014-01-22 12:52
    关注

    The simple solution: You have to fetch the result of the recursive calls of the function!

    public function printDropdownTree($tree, $r = 0, $p = null) {
        $html = "";
        foreach ($tree as $i => $t) {
            $dash = ($t['parent'] == 0) ? '' : str_repeat('-', $r) . ' ';
            $html .= '<option value="'.$t['id'].'">'.$dash.''.$t['name'].'</option>';
            if ($t['parent'] == $p) {
                // reset $r
                $r = 0;
            }
            if (isset($t['_children'])) {
                $html .= $this->printDropdownTree($t['_children'], ++$r, $t['parent']);
            }
        }
    
    
         return $html;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 组策略中的计算机配置策略无法下发
  • ¥15 机器学习简单问题解决
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写