PHP函数可以返回不同的&乍一看多值,但它不能

时间:2012-04-11 09:28:53

标签: php

<?php

function some_func(){

 return 'some_str_type' && 'another_str_type';
}

function another_func(){

 return '123' || '456';
}


print some_func(); //1 - the same as true

print another_func(); //again prints 1, as true

任何语言的简洁编码方式都要求将非小函数放入小函数中 - 因为一个函数应该返回单个值。

但是,我在一些流行的php-template langs(smarty,dwoo)的源代码中看到了这种方法。 那是什么?什么时候以这种方式编码? (意味着任何现实世界的情况)

1 个答案:

答案 0 :(得分:4)

PHP将返回1个值。你上面做的是你输入一个表达式,它被评估,并返回结果的布尔值。

return 'some_str_type' && 'another_str_type';

变为

return true && true;

变为

return true;

何时在现实生活中使用:

function some_func(){
   $success1 = doStuff1();
   $success2 = dostuff2();
   return $success1 && $success2;
}

如果两个被调用的函数都返回true,它将返回true。