Re: [請益] 抓取相關資料
寫個遞迴函式來處理,還可以設定要往上抓幾代.
不過資料結構要先確定. 假設以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
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章
0
18