作者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