If语句作用域中的PHP声明器
这是相当基本的。 假设您在if语句中定义了一个变量If语句作用域中的PHP声明器,php,scope,language-construct,Php,Scope,Language Construct,这是相当基本的。 假设您在if语句中定义了一个变量 if($stmt = $db->prepare($sql)) { // do stuff } 我可以访问if语句下面的$stmt吗? 或者$stmt是否需要在if?之上定义?PHP没有块级范围,只有函数级范围$stmt将在if语句下方的任何位置可用(在if的内部和外部) 但是,需要记住的是,如果在if块中定义新变量,则只有当if计算结果为true时,才会存在新变量 例如: PHP没有块级作用域,只有函数级作用域$stmt将在if语
if($stmt = $db->prepare($sql)) {
// do stuff
}
我可以访问if语句下面的$stmt吗?
或者$stmt是否需要在if?之上定义?PHP没有块级范围,只有函数级范围
$stmt
将在if语句下方的任何位置可用(在if
的内部和外部)
但是,需要记住的是,如果在if
块中定义新变量,则只有当if
计算结果为true
时,才会存在新变量
例如:
PHP没有块级作用域,只有函数级作用域
$stmt
将在if语句下方的任何位置可用(在if
的内部和外部)
但是,需要记住的是,如果在if
块中定义新变量,则只有当if
计算结果为true
时,才会存在新变量
例如:
基本测试:
if ($stmt = 5) {
var_dump($stmt);
}
var_dump($stmt);
产出:
int(5)
int(5)
是的,您可以“访问if语句下方的$stmt”。基本测试:
if ($stmt = 5) {
var_dump($stmt);
}
var_dump($stmt);
产出:
int(5)
int(5)
是的,您可以“访问if语句下方的$stmt”。为什么不试试呢?但是是的,$stmt将由if
定义,并在函数的其余部分保持定义状态。@Marc B我尝试过,但是$stmt->错误没有将任何内容记录到我的文本文件中,所以我很怀疑。你为什么不试试呢?但是是的,$stmt将由if
定义,并在函数的其余部分保持定义状态。@Marc B我尝试过,但$stmt->error没有将任何内容记录到我的文本文件中,因此我很怀疑。因此,您可以在if块中声明,并且变量将存在于if下?不知道。所以你可以在if块中声明,变量将存在于if下面?我不知道。