在PHP中是否返回假气泡?
我有一个类,其中包含一些php中的方法 一个公共方法调用一个受保护的方法。如果受保护的方法返回false,公共方法是否会返回false而不继续在PHP中是否返回假气泡?,php,return,Php,Return,我有一个类,其中包含一些php中的方法 一个公共方法调用一个受保护的方法。如果受保护的方法返回false,公共方法是否会返回false而不继续 public static function a() { $class = getClass(); // some more code... } protected static function getClass() { $classList = self::find_by_sql(" SELECT *
public static function a() {
$class = getClass();
// some more code...
}
protected static function getClass() {
$classList = self::find_by_sql("
SELECT *
FROM ".self::$table_name."
WHERE Class_Closed = FALSE
ORDER BY Start_Date ASC
;");
if (empty($classList)) {
return false;
} else {
return $classList[0];
}
}
否。
$class
将有一个假值,但如果希望方法终止并立即返回该值,则仍然需要从YourClass::a()
返回该值<代码>返回仅在调用它的函数/方法的范围内
public static function a(){
$class = getClass();
if (!$class) {
return false; // or return $class;
}
some more code...
}
否。
$class
将有一个假值,但如果希望方法终止并立即返回该值,则仍然需要从YourClass::a()
返回该值<代码>返回仅在调用它的函数/方法的范围内
public static function a(){
$class = getClass();
if (!$class) {
return false; // or return $class;
}
some more code...
}
否。
return
不像异常,并且没有冒泡。如果没有显式的返回值
,则存在隐式的返回空值代码>:
php > function foo() { }
php > var_dump(foo());
NULL
php > function bar() { $x = 42; }
php > var_dump(bar());
NULL
php > function baz() { return 'hi mom'; }
php > var_dump(baz());
string(6) "hi mom"
无论您如何/在何处定义函数,包括作为类方法,这都是正确的:
php > class foo { function bar() { } }
php > $foo = new foo();
php > var_dump($foo->bar());
NULL
否。return
不像异常,并且没有冒泡。如果没有显式的返回值
,则存在隐式的返回空值代码>:
php > function foo() { }
php > var_dump(foo());
NULL
php > function bar() { $x = 42; }
php > var_dump(bar());
NULL
php > function baz() { return 'hi mom'; }
php > var_dump(baz());
string(6) "hi mom"
无论您如何/在何处定义函数,包括作为类方法,这都是正确的:
php > class foo { function bar() { } }
php > $foo = new foo();
php > var_dump($foo->bar());
NULL
所以如果我想让方法a返回false,我需要检查$class是否为false,然后返回false?不,三元运算符不是这样工作的。但是您可以这样做:如果(!$class)返回false代码>如果您希望它是一行的。谢谢!这真的很有帮助。所以如果我想让方法a返回false,我需要检查$class是否为false,然后返回false?不。三元运算符不是这样工作的。但是您可以这样做:如果(!$class)返回false代码>如果您希望它是一行的。谢谢!这真的很有帮助。