if-stament的PHP快捷方式

if-stament的PHP快捷方式,php,Php,我目前正在学习PHP,我发现了一些代码,希望有人能帮我解释一下。当表单输入中出现错误时,我使用它,因此刷新后输入不会为空,而是包含用户在按下submit之前的输入 PHP部分 if(isset($_POST['submit'])){ $checkUsername = null; // just in case $checkUsername = $_POST['username']; }; HTML部分 <form method="post"> <label fo

我目前正在学习PHP,我发现了一些代码,希望有人能帮我解释一下。当表单输入中出现错误时,我使用它,因此刷新后输入不会为空,而是包含用户在按下submit之前的输入

PHP部分

if(isset($_POST['submit'])){
  $checkUsername = null; // just in case
  $checkUsername = $_POST['username'];
};
HTML部分

<form method="post">
   <label for="username" class="control-label">Username</label>
   <input name="username" type="text" class="form-control" placeholder="Enter username" value="<?php echo !empty($checkUsername)?$checkUsername:'';?>"> 
   <button type="submit" name="submit" id="submit" class="btn btn-success">Create user</button>
</form>
是否有网页可供我查找此类快捷方式?

使用此:

echo (!empty($checkUsername)) ? $checkUsername: '';

它作为
“(条件)?(真返回值):(假返回值)
语句来缩短if/else结构。

为此使用三元运算符

echo !empty($checkUsername) ? $checkUsername : "";
它相当于

if(!empty($checkUsername)){
   echo $checkUsername;
}else{
    echo "";
}
有关更多信息,请参阅和。


<?php echo !empty($checkUsername)?$checkUsername:'';?>
这是一个三元运算符。你可以阅读更多关于他们的文章

你可以把这个条件写得更短

<?= $checkUsername ?: '';?>

这称为
三元运算符

使用它的方式通常从语言构造、变量赋值或纯表达式语句开始

示例:

$a=$b==3?1 : 2; // 如果b等于3,$a将是 分配为1或2

匹配()?前进():后退();//这 调用匹配函数,如果返回值的计算结果为true,则 它将调用
go\u forward
函数,否则它将调用
go\u backward
作用

这是官方网站的一小部分描述

从php 5.3版开始

您也可以在表达式中使用它作为
expr1?:expr3
,其中 如果expr1的计算结果为TRUE,则返回expr1,否则返回expr3


它被称为三元运算符:
语句1?报表2:报表3
对语句1求值,如果为真,则解析为语句2,否则解析为语句3


您将在更多的语言中看到它,而不仅仅是PHP,它们起初很难阅读,但后来却很方便地使用了速记。

您可以使用
echo!空($chckusername)$检查用户名:''
。我想知道你们忙着回答像这样已经回答过的问题。我们可以找到关于PHP的答案。if-?:语法是:if?:
<?php echo !empty($checkUsername)?$checkUsername:'';?>
<?= $checkUsername ?: '';?>