"isset($x) 是什么意思? $y:$z”意思是?

发布于 2024-12-18 19:17:27 字数 337 浏览 0 评论 0 原文

可能的重复:
什么是 PHP 运算符“?”和“:”调用,它们做什么?
参考 - 这个符号在 PHP 中意味着什么?

我知道 isset 在 PHP 中意味着什么。但我见过像 isset($x) 这样的语法? $y:$z。这是什么意思?

Possible Duplicate:
What are the PHP operators "?" and ":" called and what do they do?
Reference - What does this symbol mean in PHP?

I know what isset means in PHP. But I have seen syntax like isset($x) ? $y : $z. What does it mean?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

输什么也不输骨气 2024-12-25 19:17:27

这是一个三元运算符,也称为“条件表达式运算符”(感谢 Oli Charlesworth)。你的代码如下所示:

if $x is set, use $y, if not use $z

That is a Ternary Operator, also called the "conditional expression operator" (thanks Oli Charlesworth). Your code reads like:

if $x is set, use $y, if not use $z
維他命╮ 2024-12-25 19:17:27

在 PHP 和许多其他语言中,您可以根据 1 行语句中的条件分配值。

$variable = expression ? "the expression was true" : "the expression was false".

这相当于

if(expression){
    $variable="the expression is true";
}else{
    $variable="the expression is false";
}

你也可以嵌套这些

$x = (expression1) ?
     (expression2) ? "expression 1 and expression 2 are true" : "expression 1 is true but expression 2 is not" :
     (expression2) ? "expression 2 is true, but expression 1 is not" : "both expression 1 and expression 2 are false.";

In PHP, and many other languages, you can assign a value based on a condition in a 1 line statement.

$variable = expression ? "the expression was true" : "the expression was false".

This is equivalent to

if(expression){
    $variable="the expression is true";
}else{
    $variable="the expression is false";
}

You can also nest these

$x = (expression1) ?
     (expression2) ? "expression 1 and expression 2 are true" : "expression 1 is true but expression 2 is not" :
     (expression2) ? "expression 2 is true, but expression 1 is not" : "both expression 1 and expression 2 are false.";
灵芸 2024-12-25 19:17:27

该声明不会像所写的那样执行任何操作。

另一方面,类似的事情

$w = isset($x) ? $y : $z;

更有意义。如果$x 满足isset(),则$w 被赋予$y 的值。否则,$w 被赋予$z 的值。

That statement won't do anything as written.

On the other hand something like

$w = isset($x) ? $y : $z;

is more meaningful. If $x satisfies isset(), $w is assigned $y's value. Otherwise, $w is assigned $z's value.

甜味拾荒者 2024-12-25 19:17:27

它是单个表达式 if/else 块的简写。

$v = isset($x) ? $y : $z;

// equivalent to 
if (isset($x)) {
   $v = $y;
} else {
   $v = $z;
}

It's shorthand for a single expression if/else block.

$v = isset($x) ? $y : $z;

// equivalent to 
if (isset($x)) {
   $v = $y;
} else {
   $v = $z;
}
左秋 2024-12-25 19:17:27

这意味着如果未设置 $x 变量,则将 $y 的值分配给 $x ,否则将 $z 的值分配给 $x 被分配给$x

It means if $x variable is not set , then value of $y is assigned to $x , else value of $z is assigned to $x.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文