三項演算子の使用を容易にするための PHP のヒント

巴扎黑
リリース: 2023-03-14 18:30:02
オリジナル
1463 人が閲覧しました

今日、PHP 三項演算子のちょっとした使い方を発見しました。これで私の乾いた脳は少し楽しくなりました!

PHP 三項演算子は、パラメーターに値を代入する際の主な使用法です。判定コードを 1 行のコードで記述して、次のようなコードを置き換えます:

<?php
if (isset($value)) {  
  $output = $value;
} else {   
 $output = &#39;No value set.&#39;;
}
ログイン後にコピー
ログイン後にコピー

代わりに次のコードを使用してください:

<?php
$output = isset($value) ? $value : &#39;No value set.&#39;;
ログイン後にコピー
ログイン後にコピー

2 番目のコード例は、さまざまな状況での非常に簡潔な使用法です。 all)、これは非常に実用的な使い方です。三項演算子を使用すべきかどうかについては多くの議論がありますが、一般的に使用される構文は次のとおりです。 (式) ? true の場合の値 : 偽の場合の値 この式は変数にすることができ、変数が true か false かをテストします:

<?php$output = $value ? $value : &#39;No value set.&#39;;
ログイン後にコピー

問題は次のとおりです: 上記の例は非常に一般的であり、面倒なほど繰り返しです: $value を 2 回書きます。間違いのような気がします

幸いなことに、今日、三項演算子を使用したより簡潔な構文が PHP 5.3 で導入されたことを発見しました。それは、中学校で習ったマニュアルから読むことができます。上記の例をより簡潔にするにはどうすればよいですか:

<?php
$output = $value ?: &#39;No value set.&#39;;
ログイン後にコピー
ログイン後にコピー

これは見覚えがあるように見えますが、これは他の短縮演算子と非常によく似ているためです: PHP 5.3 中介绍了一个更简洁的使用三元运算符的语法. 你可以从手册中学到, 但是这里我们怎么样让上边的例子更简洁呢:

<?php
$value = $value . $other_value;
ログイン後にコピー
ログイン後にコピー

这个看起来很熟悉, 这个是因为很像其他的简写运算符:

<?php
$value .= $other_value;
ログイン後にコピー
ログイン後にコピー

转换成:

<?php
if (isset($value)) {  
  $output = $value;
} else {   
 $output = &#39;No value set.&#39;;
}
ログイン後にコピー
ログイン後にコピー

为了更简洁, 这个意味着我们可以这样简写并不意味着我们就应该这么写. 但是, 当我们写简洁代码的时候, 这种方式会看起来更清楚, 我们应该这么写, (并且这个特性允许我们在多种情况下使用这个运算符[this feature allows us to DRY up the ternary operator in many cases])

原文地址 Even shorter ternary operators in PHP using ?:

今天我发现了PHP三元运算符的一个小小的用法. 这给我干涸的大脑一点乐趣!

PHP 三元运算符是对参数赋值时候的一个简洁的主要用法. 一个主要的用法: PHP 三元运算符能够让你在一行代码中描述判定代码, 从而替换掉类似以下的代码:

<?php
$output = isset($value) ? $value : &#39;No value set.&#39;;
ログイン後にコピー
ログイン後にコピー

使用以下代码替代:

<?php
$output = $value ? $value : &#39;No value set.&#39;;
ログイン後にコピー

第二个代码例子是非常简洁的用法, 在多种情况下(并非所有), 这是一个非常实用的用法. 有许多关于是否应该使用三元运算符的争辩;让我说, 这就是一个工具, 向其他工具一样, 只是用的正确与否.

常用的语法是 (expression) ? value if truthy : value if falsy.这个表达式可以是一个变量, 测试这个变量是真还是假:

<?php
$output = $value ?: &#39;No value set.&#39;;
ログイン後にコピー
ログイン後にコピー

问题是: 以上的例子很常用同时也重复的有些烦人: 写两次 $value 就像是感到错误一样.

好在是, 我今天发现在 PHP 5.3

<?php
$value = $value . $other_value;
ログイン後にコピー
ログイン後にコピー

は次のように変換されます:

<?php
$value .= $other_value;
ログイン後にコピー
ログイン後にコピー
より簡潔にするために、これを省略できます。この方法は、このように書くべきであるという意味ではありません。しかし、簡潔なコードを書くときは、このように書くべきであることがより明確に見えます

(そして、この機能により、さらに短い三項演算子を使用することができます)。 ?:

を使用した PHP 今日は、PHP 三項演算子のちょっとした使い方を発見しました。私の乾いた頭が少し楽しくなりました。PHP 三項演算子は、パラメーターに値を割り当てるときの主な使用法です。三項メタ演算子を使用すると、1 行のコードで決定コードを記述することができるため、次のようなコードを置き換えることができます:rrreee代わりに次のコードを使用してください:rrreee 2 番目のコード例は、非常に簡潔な使用法です。さまざまな状況で (すべてではありませんが)、これは非常に実用的な使い方です。三項演算子を使用すべきかどうかについては、多くの議論があります。ただし、これは正しく使用されるかどうかだけです。よく使用される構文は (式) ? value if truey : value if false この式は変数にすることができ、変数が true か false かをテストします:

rrreee🎜 問題は次のとおりです: 上記の例は非常に一般的で、面倒なほど繰り返しです。 $value を 2 つ書くのは間違っていると思います 🎜🎜 幸いなことに、今日、三項演算子を使用したより簡潔な構文が PHP 5.3 で導入されていることがわかりました。それはマニュアルで学ぶことができますが、ここではその方法を説明します。上の例をより簡潔にします: 🎜rrreee🎜 これは、他の短縮演算子とよく似ているため、見覚えがあるように見えます: 🎜rrreee🎜 は次のように変換されます: 🎜rrreee🎜 より簡潔にするために、これは、この方法で省略できるからといって、意味があるわけではありません。ただし、簡潔なコードを書くときは、このように書くべきであることがより明確に見えます 🎜 (そして、この機能により、多くの場合にこの演算子を使用できるようになります [この機能多くの場合、三項演算子を DRY アップすることができます])🎜🎜

以上が三項演算子の使用を容易にするための PHP のヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート