这行是什么意思?有谁能够帮助我?我对最后2个标记有混淆:''
为什么没有这两个标记浏览器会出错?谢谢大家。Php一行需要下行
isset($_POST['but'])? $_POST['but']:'';
这行是什么意思?有谁能够帮助我?我对最后2个标记有混淆:''
为什么没有这两个标记浏览器会出错?谢谢大家。Php一行需要下行
isset($_POST['but'])? $_POST['but']:'';
这只是另一种方式来写if/else语句。 例如:
$but = isset($_POST['but'])? $_POST['but']:'';
将是一样的:
if(isset($_POST['but'])){
$but= $_POST['but'];
}else{
$but = '';
}
谢谢meda.I我了解你的帖子。 – cms
如果$_POST请求体中包含but
参数 - 使用它,overwise使用空字符串。
如果你被人误解statement ? something : anything
代码 - 这是Ternary Operator
那么它被称为ternary
运营商。
例:
$value = 5;
($value > 2) ? true : false; // returns true
表达式(表达式1)? (expr2):如果expr1的计算结果为TRUE,(expr3)的计算结果为expr2,如果expr1的计算结果为FALSE,则expr3的计算结果为expr3。
这里,如果你的价值$_POST['but']
设置,那么它将返回$_POST['but']
否则将返回“”。
u使用的tenary比较操作
三元运算符有关于三元操作真假
($contidition) ? true : false;
请参考PHP文档值comparison operator
在以下情况下:
isset($_POST['but']) ? $_POST['but'] : ''
这是什么意思是,当$_POST['but']
存在,使用它,否则使用空字符串
如果u使用的PHP版本> 5.3 u可以使用类似
isset($_POST['but']) ? : ''
退房三元运算符:http://php.net/manual/en/language.operators.comparison.php – jeroen
它看起来,这意味着如果$ _POST ['but']包含值,因为它在其中设置了''(空字符串)。 –
@Adil:不,它不会更改/添加值,如果它不存在。没有显示对条件运算符的结果做了什么。 –