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

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

今天我发现了PHP三元运算符的一个小小的用法. 这给我干涸的大脑一点乐趣!       https://blog.csdn.net/imvkmark/article/details/43913091

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

<?php
if (isset($value)) {
    $output = $value;
} else {
    $output = 'No value set.';
}

 

使用以下代码替代:

<?php
$output = isset($value) ? $value : 'No value set.';

 

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

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

<?php
$output = $value ? $value : 'No value set.';

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

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

<?php
$output = $value ?: 'No value set.'; 等效于 $output = $value ? $value : 'No value set.'; 

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

<?php
$value = $value . $other_value;

转换成:

<?php
$value .= $other_value;

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113087.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • phpstorm 2021 激活码[在线序列号]

    phpstorm 2021 激活码[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    95
  • VS无法打开源文件

    VS无法打开源文件通过一天的时间终于弄出来了,无法找到源文件的主要原因其实就是你删了某一个文件夹,他找不到了。这是我查这么多最贴合实际的一次,其他的调的,可能也可以解决,不过会有其他问题产生,无法打开元文件。搞了半天还是不行,主要是没有从根本上下手。推荐一个链接,解决这个问题:解决无法打开源文件…

    2022年6月15日
    47
  • python官网下载步骤图解-如何下载安装python 看完你就知道了[通俗易懂]

    python官网下载步骤图解-如何下载安装python 看完你就知道了[通俗易懂]工具/材料windows系统电脑操作方法01首先,在python的官网下载python版本,需要下载你电脑对应的版本,在【计算机】-【属性】中查看自己是32位还是64位操作系统(官网地址在网上自行搜索)。0232位和64位的版本安装起来没有区别,双击打开后,第一步要记得勾上AddpythontoPath选项,意思是把Python的安装路径添加到系统环境变量的Path变量中。然后选择自定义安…

    2022年4月30日
    125
  • 用js来实现那些数据结构15(图01)[通俗易懂]

    其实在上一篇介绍树结构的时候,已经有了一些算法的相关内容介入。而在图这种数据结构下,会有更多有关图的算法,比如广度优先搜索,深度优先搜索最短路径算法等等。这是我们要介绍的最后一个数据结构。同时也是本系

    2022年3月25日
    33
  • C# winform开发界面美化

    C# winform开发界面美化总述winform属于比较老的桌面程序开发框架,由于它的易用性常用于一些测试软件、工控软件的开发,界面的美观是其存在的比较大的问题,自带的控件普遍比较不美观,下面介绍一下一些第三方的组件库。CSkin使用方法导入官网下载的dll链接库即可使用,导入后会在左边的组件框生成组件。组件效果SunnyUI使用方法导入dll链接库可用,下载连接组件效果NetWinform使用方法代码开源,可直接使用代码,或者NuGetInstall-PackageHZH_Controls,下载路径

    2022年5月8日
    59
  • KaTeX 数学符号列表[通俗易懂]

    KaTeX 数学符号列表[通俗易懂]数学符号希腊字母LaTexKaTex===isequalto=≠\ne̸​=isnotequalto\ne≈\approx≈isapproximatelyequalto\approx+++plus+−-−minus-±;∓\pm;\mp±;∓plus-minus;minus-plus\pm;\mp…

    2025年7月9日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号