如何通过其他函数返回函数
我打算创建一个将被其他函数使用的检查函数。这个想法很简单:如果条件不满足,通过返回它来停止函数。如何通过其他函数返回函数
这是原来的代码:
function awesome(){
$a = "2";
if ($a != "1"){return;}
echo "awesome";
}
它的工作。因为$ a是2,所以函数返回并且不出现单词“awesome”。但是,有几个功能需要检查。为了避免重复,我做到了这种方式:
function test($var){
if ($var != "1"){return;}
}
function awesome(){
test("2");
echo "awesome";
}
function awesomeagain(){
test("3");
echo "awesome";
}
但“真棒” s的出现,并不会返回两个功能真棒()和awesomeagain()。如何通过添加test()函数来返回这两个?
谢谢。我非常感谢你的帮助。
function test($var) {
return ($var == "1");
}
function awesome() {
if (test("2")) {
echo "awesome";
}
}
function awesomeagain(){
if (test("3")) {
echo "awesome";
}
}
Fikry,尝试重新学习的conditional
的概念,这是基本的编程技能。没有它,你会犯很多错误的代码和功能。
从你的函数返回使用return
关键字
function test($var){
if ($var == "1"){
return TRUE;
}
}
function awesome(){
if (!test("2")){
return FALSE;
}
echo "awesome";
return TRUE;
}
function test($var) {
if ($var != "1"){
return "awesome";
}
// do something else when $var is not "1" here.
}
function awesome(){
echo test("2");
}
function awesomeagain(){
echo test("3");
}
这就是它! PHP真棒! :)
嗯..我不这样做,因为行动将被放在真棒()和awesomeagain()和这些行动是不同的。顺便说一句,是PHP是真棒。感谢您的回复:D – fikrirasyid 2011-03-12 16:01:51
您的test
函数必须返回一个值,并且您必须在其他函数中测试此值。事情是这样的:
function test($var) {
if ($var != "1")
return false;
else
return true;
}
所以,你的代码应该是这样的:
function awesome() {
if (test("2"))
echo "awesome";
}
但是,如果你想*的检查,可以抛出异常。这应该是这样的:
function test($var) {
if ($var != "1")
throw new Exception();
}
和其他功能的使用
function awesome() {
try {
test("2");
echo "yeah";
} catch ($e) {}
}
哇,谢谢! 'test'是有效的,但我对'awesome()'进行了一些修改,所以代码如下所示:'if(test(“2”)== true)'那么它就像一个魅力:D – fikrirasyid 2011-03-12 15:59:22
在php中,好的做法是检查值和类型,所以使用if(test(“2”)=== true),因为在php中这将返回true(“2”== true),但是(“2”= == true)将返回false。 – dugokontov 2011-03-12 22:08:05
fYou可能不应该依赖于另一个功能停止另一个函数的形式运行。试试这个
function test($var){
if ($var != "1"){return false;} return true;
}
function awesome(){
if(test("2"))
echo "awesome";
}
function awesomeagain(){
if(test("3"));
echo "awesome";
}
感谢您的回复,它与之前的回复非常相似,并且只需很小的修改即可:D – fikrirasyid 2011-03-12 16:00:30
感谢您的编辑。我在这里真的很新,对格式化仍然感到困惑。 – fikrirasyid 2011-03-12 16:06:03