php 中更简洁的三元运算符 ?:

WBOY
Freigeben: 2016-08-08 09:29:28
Original
883 Leute haben es durchsucht

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

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

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

<code><span><?php </span><span>if</span> (<span>isset</span>(<span>$value</span>)) {
    <span>$output</span> = <span>$value</span>;
} <span>else</span> {
    <span>$output</span> = <span>'No value set.'</span>;
}</span></code>
Nach dem Login kopieren

使用以下代码替代:

<code><span><?php </span><span>$output</span> = <span>isset</span>(<span>$value</span>) ? <span>$value</span> : <span>'No value set.'</span>;</span></code>
Nach dem Login kopieren

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

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

<code><span><?php </span><span>$output</span> = <span>$value</span> ? <span>$value</span> : <span>'No value set.'</span>;</span></code>
Nach dem Login kopieren

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

好在是, 我今天发现在 PHP 5.3 中介绍了一个更简洁的使用三元运算符的语法. 你可以从手册中学到, 但是这里我们怎么样让上边的例子更简洁呢:

<code><span><?php </span><span>$output</span> = <span>$value</span> ?: <span>'No value set.'</span>;</span></code>
Nach dem Login kopieren

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

<code><span><?php </span><span>$value</span> = <span>$value</span> . <span>$other_value</span>;</span></code>
Nach dem Login kopieren

转换成:

<code><span><?php </span><span>$value</span> .= <span>$other_value</span>;</span></code>
Nach dem Login kopieren

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

以上就介绍了php 中更简洁的三元运算符 ?:,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!