看板 PHP 關於我們 聯絡資訊
<?php $a=add("1"); print "$a"; function add($a){ $b = $a + 1; if( $b < 10 ){ add($b); }else{ #print "$b"; #這行可以印出 10 return "$b"; } } ?> print這邊無法print值出來...可是確定有跑到 return "$b"; 這邊... 請問一下板上的高手...我是哪邊搞錯了??? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.223.192
KC73 :return $b; 06/27 23:06
youshi321 :還是不行 = = ...我還是試過return "100"..也是沒傳 06/27 23:10
※ 編輯: youshi321 來自: 140.113.223.192 (06/27 23:13)
bcse :好奇怪的function... o_O 06/27 23:19
scornn :return add($b); //沒這樣最上層遞迴當然接不到值~ 06/27 23:25
youshi321 :樓上的...我這樣用結果是一直跑add不會停了阿 = = 06/27 23:31
youshi321 :不過還是很感謝您提供的建議... 06/27 23:31
JoeHorn :先搞清楚啥是字串,啥是數字吧... 06/27 23:53
scornn :這樣做不會有問題啊.. 除非你是寫成return add($a); 06/28 00:35
scornn :耶.. 你搞錯return add($b)的位置了吧.. 06/28 00:36
scornn :if()下面的add($b) 改 return add($b); 06/28 00:37
youshi321 :哇哈...太感謝scornn...果然是我搞錯位置 = =b 06/28 00:43
youshi321 :原來我原本寫的方式..會把值return到上一層..不是第 06/28 00:43
youshi321 :一層...會傳到$b=9那層... 06/28 00:44
youshi321 :我的問題是在做搜尋的..要一直call本身的funciton 06/28 00:45
youshi321 :但是我那個程式太雜..所以自己弄了個類似的問題 06/28 00:45
youshi321 :不過想請教一下Joe大..您說的問題...是指我錯在哪? 06/28 00:46
mlwmlw :為什麼要把 1 用 " " 框起來阿@@ 06/28 01:15
youshi321 :喔...懂了...感謝樓上~~^^ 06/28 13:34