関数が、指定されたIDを持つノードから開始し、親を検索するURL全体を返すようにしたいのですが、最後の1つはparent_id=1です。私の関数は、echo"$wholeUrl"でほぼ機能します。私は自分のURLを持っていますが、関数がそれを再調整せず、wtfがわかりません。助けてください。
これが私のコードです:
関数getUrl($ xml、$ id){
$wholeUrl="";
$wholeUrl= getMyUrl($xml,$id,$wholeUrl);
return $wholeUrl;
}
関数getMyUrl($ xml、$ idWew、$ Wholesale){
foreach($xml as $node) {
$par = $node->parent_id;
$ide = $node->id;
$url = $node->url;
$name = $node->name;
settype($par,'integer');
settype($ide,'integer');
if($ide==$idWew){
$wholeUrl=$url."/".$wholeUrl;
if($par==1){
echo"$wholeUrl ";
return $wholeUrl;
break;
}else{
getMyUrl($xml,$par,$wholeUrl);
}
}
}
}
print_r(getUrl($xmlcat,1877));
$ xmlcatは、次の構造のフラット配列です。
SimpleXMLElement Object ( [id] => 1876 [parent_id] => 1 [name] => blablabla, bla, bla [url] => bla-bla-bla-bla )