這篇文章介紹的內容是關於php遞歸無法返回問題,遞歸正確寫法,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
function digui($tiaojian){ if ($tiaojian) { return $data; } else{ return digui(); } }
注意:條件不成立時,一定要return 遞歸函數。不然無法正常回傳
如果遞迴只是為了輸出。可以簡寫:
function digui($tiaojian){ if ($tiaojian) { echo $data; } else{ digui(); } }
function digui($tiaojian,&$result){ if ($tiaojian) { $result=$data; } else{ digui(); } }
function digui(){ static $count=0; echo $count; $count++; } digui(); digui(); digui(); digui(); digui();
輸出結果為:0 1 2 3 4
注意:靜態變數方法一定要謹慎使用。因為每次呼叫該方法的時候,都會對原來最早定義這個變數方法的基礎上去操作。
甚至unset 對靜態變數也無法銷毀
function digui(){ static $count=0; echo $count; $count++; unset($count); } digui(); digui(); digui(); digui(); digui();
這段程式碼依舊輸出0 1 2 3
相關推薦:
以上是php遞歸無法回傳問題,遞歸正確寫法的詳細內容。更多資訊請關注PHP中文網其他相關文章!