クラスメソッドの戻り値、奇妙な現象
この投稿は xuzuning によって最終編集されました: 2013-03-08 14:59:52
親愛なる英雄の皆さん、次のコードを見てください:
実装したい機能は多次元配列を使用してツリー構造を出力することです。以下のパラメータは多次元配列です。
//再帰ツリー出力形式 1
public function accountTreeType1($arrData){<br />
<br />
$this->strLable = $this->strLable.'<ul>';<br />
<br />
foreach($arrData as $val){<br />
<br />
if(is_array($val['child'])){<br />
$this->strLable = $this->strLable.'<li>'.$val['acc_code'].$val['acc_name'];<br />
$this->accountTreeType1($val['child']);<br />
}else{<br />
<br />
$this->strLable = $this->strLable.'<li>'.$val['acc_code'].$val['acc_name'].'</li>';<br />
if($val[id]=='最后一个ID'){<br />
return $this->strLable; //在这里没有返回值,不过用echo $this->strLable;是可以打印出来,但是返回值为空。<br />
}<br />
<br />
}<br />
<br />
}<br />
<br />
$this->strLable = $this->strLable.'</ul>';<br />
<br />
}
ログイン後にコピー
-----解決策---------最後に
return $this->strLable;
------解決策---------
public function accountTreeType1 ($arrData){
$strLable .= '
';
foreach($arrData as $val){
If(is_array($val['child'])){
$strLable .= '- '.$val['acc_code'].$val['acc_name'].'
';
$strLable .= $this->accountTreeType1($val['child']);
}その他{
$strLable .= '- '.$val['acc_code'].$val['acc_name'].'
';
}
}
return $strLable.'
';