作者youshi321 (歐北共)
看板PHP
標題[請益] function中 return的問題
時間Fri Jun 27 23:01:35 2008
<?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
1F:→ KC73 :return $b; 06/27 23:06
2F:→ youshi321 :還是不行 = = ...我還是試過return "100"..也是沒傳 06/27 23:10
※ 編輯: youshi321 來自: 140.113.223.192 (06/27 23:13)
3F:→ bcse :好奇怪的function... o_O 06/27 23:19
4F:→ scornn :return add($b); //沒這樣最上層遞迴當然接不到值~ 06/27 23:25
5F:→ youshi321 :樓上的...我這樣用結果是一直跑add不會停了阿 = = 06/27 23:31
6F:→ youshi321 :不過還是很感謝您提供的建議... 06/27 23:31
7F:→ JoeHorn :先搞清楚啥是字串,啥是數字吧... 06/27 23:53
8F:→ scornn :這樣做不會有問題啊.. 除非你是寫成return add($a); 06/28 00:35
9F:→ scornn :耶.. 你搞錯return add($b)的位置了吧.. 06/28 00:36
10F:→ scornn :if()下面的add($b) 改 return add($b); 06/28 00:37
11F:→ youshi321 :哇哈...太感謝scornn...果然是我搞錯位置 = =b 06/28 00:43
12F:→ youshi321 :原來我原本寫的方式..會把值return到上一層..不是第 06/28 00:43
13F:→ youshi321 :一層...會傳到$b=9那層... 06/28 00:44
14F:→ youshi321 :我的問題是在做搜尋的..要一直call本身的funciton 06/28 00:45
15F:→ youshi321 :但是我那個程式太雜..所以自己弄了個類似的問題 06/28 00:45
16F:→ youshi321 :不過想請教一下Joe大..您說的問題...是指我錯在哪? 06/28 00:46
17F:推 mlwmlw :為什麼要把 1 用 " " 框起來阿@@ 06/28 01:15
18F:→ youshi321 :喔...懂了...感謝樓上~~^^ 06/28 13:34