我們在前文章中為大家介紹了關於php遞迴函式的使用,以及實作方式,那麼在我們使用php遞迴函式中return的問題呢?今天就給大家解析下php遞迴函數中出現回傳值的問題吧!
在遞迴函數中傳回值問題
/* 循环去除字符串左边的0 */ function removeLeftZero($str){ if($str['0'] == '0'){ $str = substr($str, '1'); removeLeftZero($str); }else{ return $str; } }
在大多數人看來這段程式碼沒有問題,如果不是執行一下也不知道問題出在哪?這樣運行以後如果是遞歸是不會有回傳值的,遞迴後即使滿足else條件也不會有回傳值,應該改為
/* 循环去除字符串左边的0 */ function removeLeftZero($str){ if($str['0'] == '0'){ $str = substr($str, '1'); return removeLeftZero($str); // 给函数增加返回值 }else{ return $str; } }
總結:
相信透過這篇文章大家對php遞歸函數中出現的回傳值問題有了新的認識,也知道去如何解決了,希望對你有幫助!
相關推薦:
以上是php遞歸函數出現回傳值問題的解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!