関数の出力に問題があります。出力が制御されていません。
P粉318199689
P粉318199689 2022-07-25 18:08:47
0
4
761
function generateTree($items)
 {       
 $items = Db::name('tree')->column('id,pid,name');        
$tree = array();        
foreach ($items as $item) {
    if (isset($items[$item['pid']])) { 
       $items[$item['pid']]['son'][] = &$items[$item['id']];
        } else { 
        $tree[] = &$items[$item['id']]; 
       } 
       } 
       return $tree; 
       }
       $tree = generateTree(0); 
  function getTreeData($tree)
      { 
       foreach ($tree as $t) {
        echo "<li><span><i " . "class=\"icon-minus-sign\"></i>" .$t["name"]. "</span>\n<a href=\"info.php?id=".$t["id"]."\" target=\"_blank\">详细</a><ul>\n"; 
      if (isset($t['son'])) {
                getTreeData($t['son']);
             } 
             echo "</ul>\n</li>\n"; 
            } 
        } 
        $list = getTreeData($tree);
        $this->assign('list',$list);    
    return $this->view->fetch();
 }

1.jpg

静的ファイルは次のようになります。1-3.jpg

1-1.jpg

に直接出力され、制御不能になります。変数2.jpg

1レベルのみを出力し、それ以降は出力されません。2-2.jpg

マスター、書き方を教えてください、ありがとう.

P粉318199689
P粉318199689

全員に返信(2)
autoload

制御不能になっているわけではありません。この関数はエコーします。エコーを削除するだけです。配列は変数とともに直接返されます。

image.png

ビューに直接接続します。

いいねを押す +0
autoload

ページには何も書かず、コントローラーから転送された変数を印刷して内容を確認するだけです

いいねを押す +1
  • 返事 配列です Array ( [0] => Array ( [id] => 1 [pid] => 0 [name] => Youlou [son] => Array ( [0] => Array ( [id] => 2 [pid ] => 1 [名前] => 火[息子]
    P粉318199689 著者 2022-07-25 21:30:55
  • 返事 配列(14) { [1] => 配列(3) { ["id"] => int(1) ["pid"] => int(0) ["名前"] => string(6) "建物があります" } [2] => 配列(3) { ["id"] => int(2) ["pid"] => int(1) ["名前"] => string(3) "燃焼" } [3] => 配列(3) { ["id"] => int(3) ["pid"] => int(2) ["名前"] => string(6) "ジンバオ" これはデータベースから読み取られた配列です
    P粉318199689 著者 2022-07-25 21:33:03
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!