Re: [請益] 抓取相關資料

看板PHP作者 (寶貝豬)時間16年前 (2010/01/12 19:54), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
寫個遞迴函式來處理,還可以設定要往上抓幾代. 不過資料結構要先確定. 假設以php的array為例: <?php // t.php // 定義族譜當中,每一位成員的雙親. $relations = array( '兒子'=>array('父親','母親'), '父親'=>array('爺爺','奶奶'), '母親'=>array('外公','外婆'), ); //以兒子當做第0代, 往上查訪2代. showtree($relations,'兒子',0,2); //relations: 族譜的定義表, 定義出每位成員的雙親. //$key: 成員的識別字. //$layer: 設定目前要處理的成員是第幾代(由子輩往父輩逆推回去), // 預設為0當做基準點. //$max_layer: 最多要處理到第幾代(由子輩往父輩算回去) function showtree(&$relations,$key,$layer=0,$max_layer=0){ if(!$relations || ($layer > $max_layer)) return; //輸出空白字元,用以表達族譜樹的深度. for($i=0;$i<$layer;$i++) echo ' '; //輸出名稱 echo $key."\n"; //取得目前這位成員的雙親 $parents = $relations[$key]; //若無雙親資料,則返回. if(!$parents) return; //對於雙親當中的每一位, 做同樣的查訪: foreach($parents as $v): showtree($relations,$v,$layer+1,$max_layer); endforeach; } ?> 在cli模式下的輸出結果: php -q t.php 兒子 父親 爺爺 奶奶 母親 外公 外婆 ※ 引述《JasBG (麥香嚴選奶茶)》之銘言: : 我要建立一個有親子關係的查詢表 : 我今天輸入小孩名字 : 他會跑出父親名字跟母親名字 : 然後爺爺奶奶 外公跟外婆的名字 : 我輸入資料的部份有小孩名字跟父母親的名字 : 可是我想了很久想不出來怎麼抓取三次資料 : 已經有一個固定的顯示模式 : 爺爺 : 父親-> : 奶奶 : 兒子-> : 外公 : 母親-> : 外婆 : 我的想法是不是可以從父親那邊再抓取一次資料 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 58.115.151.184
文章代碼(AID): #1BJ6By1a (PHP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1BJ6By1a (PHP)