Php 如果$\u POST为空,则多个函数
我有下面的$\u POST函数来检查“开始”、“中间”和“结束”字段是否为空Php 如果$\u POST为空,则多个函数,php,post,if-statement,Php,Post,If Statement,我有下面的$\u POST函数来检查“开始”、“中间”和“结束”字段是否为空 if(!empty($_POST['start'])) { $description = "a sentence".$_POST['start']." with something in the START."; } if(!empty($_POST['middle'])) { $description = "a sentence".$_POST['middle']." with something in
if(!empty($_POST['start'])) {
$description = "a sentence".$_POST['start']." with something in the START.";
}
if(!empty($_POST['middle'])) {
$description = "a sentence".$_POST['middle']." with something in the MIDDLE.";
}
if(!empty($_POST['end'])) {
$description .= "a sentence".$_POST['end']." with something in the END.";
}
我想检查一个函数中的值,换句话说,我想同时检查多个值。我见过一些方法,但不确定哪一种是正确的,使用逗号或&或|,如下所示
if(!empty($_POST['start']) , (!empty($_POST['middle']) , (!empty($_POST['end']))
或
或
有人能告诉我这种队形的正确代码吗?您正在寻找的是:
// Establish valid post key values
$valid_post_variables = array_flip( ['start', 'middle', 'end'] );
// Fetch post data
$post = $_POST;
// $result will contain the values of post where the keys matched valid
$result = array_intersect_key( $post, $valid_post_variables );
// if the resulting array contains our 3 options, its go time
if ( count( $result ) == 3 ) {
//start middle and end where all passed via POST
}
这里有一些基本的。。我把它作为一个评论(因为我不确定这是否是你要求的东西),但我想一个带有一些细节的答案是合适的
- 操作员和操作员
&&将检查每个条件,如果所有条件都为true,则返回true 就这样吧
if(FALSE && TRUE)
它将始终返回False,并且由于其中一个条件为False,因此不会执行if
- 操作员
if(TRUE || False || False)
现在编译器检查第一个条件是否为true,它将忽略接下来的两个条件并返回true
如果(FALSE | | FALSE | | FALSE)
-这将返回FALSE,因为所有的值都是FALSE
- 逗号运算符
if(True,True,True,False) - it will return false
if(FALSE, TRUE, FALSE, TRUE) - it will return true
因此,根据您的逻辑选择运算符
使用以下命令:
if((!empty($_POST['start'])) && (!empty($_POST['start'])) && (!empty($_POST['start'])));
这些价值观能结合在一起吗?或始终为一/无?将检查每个条件,如果所有条件均为真,则返回真。。。| |将检查第一个条件是否为真,它将返回真,否则检查第二个条件如果全部为假(甚至没有一个为真),它将返回假。。。。如果你,-然后右边的最后一个条件将被计算,如果它为真,那么它将返回true else false。您是否尝试过不同的方法来查看运行它们时会发生什么?我在某处看到了这些逗号或&&或| |函数,但我不知道如何在函数中使用它们,当我以上面给出的方式使用它们时,它会给我语法错误,什么是正确的使用方法,有人知道吗?我不这么认为,这看起来是另一回事。我已经有了处理函数,我只想使用一个“if”语句同时检查多个值。结果将是一个包含有效post选项的数组,感谢您的解释,但我仍然感到困惑。我想检查三个值‘start’、‘middle’、‘end’,如果所有这些函数都存在,则传递该值,否则将其留空。哪个选项适合我的情况?使用和(&&&),因为它会检查每个情况。谢谢。我想这就是我想要的功能<代码>如果(空($\u POST['start'])和空($\u POST['middle'])和空($\u POST['end']))我正在使用!为空,带有&&但在替换时出现语法错误!使用empty时,它停止给出语法错误,因此我希望它能正常工作。@user1444345如果((!empty($\u POST['start'])和(!empty($\u POST['start']))和(!empty($\u POST['start']),则使用此选项;谢谢,它也在工作。我想问题不是因为你!空的这就是方括号()的问题,通过添加方括号的数量,可以消除语法错误。
if(True,True,True,False) - it will return false
if(FALSE, TRUE, FALSE, TRUE) - it will return true
if((!empty($_POST['start'])) && (!empty($_POST['start'])) && (!empty($_POST['start'])));
function insertPost($before, $offset, $after)
{
if(!empty($_POST[$offset])) {
return $before . $_POST[$offset] . $after;
}
return '';
}
$description = insertPost('a sentence', 'start', ' with something in the START.');