需要一点关于这个简单PHP代码的解释吗
我有一个大的Php代码,我理解所有的代码,除了这一部分需要一点关于这个简单PHP代码的解释吗,php,Php,我有一个大的Php代码,我理解所有的代码,除了这一部分 Function emptyFields($ar) { If(!is_array($ar)) { print "The argument must be an array"; return false; } foreach($ar as $key => $value) { If(empty($value) { print ucwords($key) . " must not be em
Function emptyFields($ar) {
If(!is_array($ar)) {
print "The argument must be an array";
return false;
}
foreach($ar as $key => $value) {
If(empty($value) {
print ucwords($key) . " must not be empty";
return false;
}
}
return true;
}
if(!emptyFields($_POST) {
exit();
}
我知道这是一个非常简单的代码。我在某种程度上理解这一点。我只需要详细解释一下:
如果(!emptyFields($\u POST)){
退出();
}
谢谢你抽出时间。对不起,我犯了错误
if(!emptyFields($_POST) {
exit();
}
首先,这实际上是错误的。应该是
if(!emptyFields($_POST)) {
exit();
}
函数实际做的是接受一个参数。首先检查该参数是否为数组,如果不是,则返回false
然后if遍历数组的每个元素,检查它是否为空,如果为空,则再次返回false!注意,在php中,empty()
将返回true到int 0
代码的最后一部分向函数发送全局数组$\u POST,如果返回false,则停止执行。我猜这是某种检查,看看用户是否向服务器发送了一些空字段
编辑:
运算符与==false
相同。因此,如果emptyFields
函数返回false,将执行exit()
函数 我理解这段代码的作用。黄色部分是什么意思?我的意思是,如果没有清空字段exit();这是否意味着如果函数不执行,就退出?我也解释过。@user5237857这并不意味着函数不执行。如果您说If(someFunction()){//something},那么您的意思是,当someFunction()运行时,如果该函数返回的值计算为true(可以是正数、布尔值true或非空字符串),那么//something部分将运行。感叹号与此相反,因此只有当函数返回假值(0、布尔值假或空字符串)时,感叹号才会运行。因此,在您的例子中,如果函数emptyFields($\u POST)返回false(前两个返回语句之一),则将运行exit()。@user5237857当且仅当括号中的所有语句计算为true时,if()语句将执行花括号中的代码。emptyFields()只能返回true或false。然后,根据返回值,代码可能会退出()。如果返回false,If语句将是:If(!false)
。因为!false===true
,这与说if(true)相同,因此exit()将运行。如果emptyFields()返回true,If语句将是:If(!true)
。因为!true===false
,这与说如果(false),那么将无法到达exit()。@imkingdavi和vasil shadix bros请您投票表决我的问题。有人投了反对票。Idk为什么?我问过什么不允许的问题吗?这是我的代码网站的一个帮助。您指出的这行代码使用当前请求的POST变量调用emptyFields
函数。如果调用返回false,则php脚本的执行将暂停。