首页 > 编程语言 >php7中的三元运算符的区别

php7中的三元运算符的区别

时间:2024-03-06 13:58:26浏览次数:23  
标签:tmparr cover 运算符 var 三元 php7 isset

<?php

$tmparr = ['cover'=>'http://img.immomo.com.cn'];

echo isset($tmparr['cover'])."\n";
echo !empty($tmparr['cover'])."\n";

$rep = isset($tmparr['cover']) && !empty($tmparr['cover']) ? $tmparr['cover'] : '';
var_dump($rep);

$result = isset($tmparr['cover']) && !empty($tmparr['cover']) ?? '';
var_dump($result);


// 1
// 1
// string(24) "http://img.immomo.com.cn"
// bool(true)

?>

从上面的结果可以看出 $a = $var ?? $temp 的意思是 $a = isset($var) ? $var : $temp

所以想用??判断一个赋值为0的变量的时候要小心了,结果可能和想象中的不一样

php7新增一个运算符??,不知道大家平时是在什么时候用它,但是我一直用它代替以前的三元运算符? :,今天偶然发现,它和三元运算符是不一样的

今天想说说php7中关于大家最常用的几个php的内置函数而可能会引发的问题,做个记录.

文章来源链接:https://blog.kevinfei.com/home/article/index/articleId/nR0jrG7YBDXMVyb86oevAZEJ24gNqxlk.html

标签:tmparr,cover,运算符,var,三元,php7,isset
From: https://www.cnblogs.com/kevinfei/p/18056362

相关文章

  • 基本运算符
    Java语言支持如下运算符重点掌握的运算符算数运算符:+、-、*、/、%、++、--%(取余、模运算):例如11/5=2..1(余1)+、-、*、/运算代码举例publicclassDemo01{publicstaticvoidmain(String[]args){inta=10;intb=20;in......
  • 4.Python3 运算符
    Python3运算符1.Python算术运算符以下假设变量a=10,变量b=21:运算符描述实例+加-两个对象相加a+b输出结果31-减-得到负数或是一个数减去另一个数a-b输出结果-11*乘-两个数相乘或是返回一个被重复若干次的字符串a*b输出结果210/除......
  • JAVA学习笔记--运算符
    运算符注意:()的优先级最高,因此可以多打一些()提高代码的可读性!!算术运算符:+、-、*、/、%(模:取余)、++(自增)、--(自减)publicclassDemo1{publicstaticvoidmain(String[]args){inta=10;intb=20;System.out.println(a+b);......
  • 学java11运算符
    运算符java支持以下运算符优先级()多用括号1.算术运算符:+,-,*,/,%(取余运算,模运算),++,--//++a先自增再给c赋值a=a+1//a++先给b赋值再自增a=a+1a--和--a原理同上2.赋值运算符:=3.关系运算符:>,<,>=,<=,==,(不等于)!=,instanceof4.逻辑运算符:&&(与),||(或),“!()”(非)&&逻......
  • 1)宏定义三目运算符
    参考:https://www.runoob.com/w3cnote/macro-definition.html //正确的认识宏(三目运算的宏定义)//(1)小白写法#defineMIN(A,B)A<B?A:Binta=MIN(1,2);//=>inta=1<2?1:2;printf("%d",a);//=>1//问题inta=2*MIN(3,4);//=>inta=......
  • python运算符
    【1】算数运算符运算符说明实例结果+加1+12-减1-10*乘1*33/除法(和数学中的规则一样)4/22//整除(只保留商的整数部分)7//23%取余,即返回除法的余数7%21**幂运算/次方运算,即返回x的y次方2**416,即24【2】赋值运算符......
  • python-数据类型-运算符补充-in and not
    运算符补充点击查看代码in点击查看代码value="我是中国人"#判断‘中国’是否在value所代指的字符串中。“中国”是否是value所代指的字符串的子序列。v1="中国"invalue#示例content=input('请输入内容:')if"退钱"incontent:print('包含敏感字符')#示例......
  • 条件运算符(if,else if,else)
    publicclassday_2_3{publicstaticvoidmain(String[]args){/*if语句*/inti=1;intj=1;//三元运算intmax=i>2?i:2;//if表达式if(i>j){System.out.println(i)......
  • C++ 函数调用运算符 () 重载
    函数调用运算符()可以被重载用于类的对象。当重载()时,您不是创造了一种新的调用函数的方式,相反地,这是创建一个可以传递任意数目参数的运算符函数。1#include<iostream>2usingnamespacestd;3classDistance4{5private:6intfeet;/......
  • C++ 赋值运算符'='重载
    C++拷贝构造函数(初学有点难理解)就像其他运算符一样,可以重载赋值运算符(=),用于创建一个对象,比如拷贝构造函数。1#include<iostream>2usingnamespacestd;3classDistance4{5private:6intfeet;//0到无穷7intinches;......