c++类中设置get函数_PHP:isset()函数结合三元表达式的小技巧用法

PHP中isset()函数想必是每个PHPer最常用的一个函数了,它更多是和三元表达式组合着使用,每次在验证数据的有效性时,都是需要它们组合来发挥作用,下面我们来介绍下它们。

93ecaf9ee1628fccac068580e6e54258.png

简介

看看PHP手册对isset()的介绍

isset — 检测变量是否设置

bool isset ( mixed $var [, mixed $... ] )

检测变量是否设置,并且不是 NULL。

如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节("0")并不等同于 PHP 的 NULL 常数。

常用的用法

<?php $a = array ('test' => 1,  'hello' => NULL, 'pie' => array('a' => 'apple')); var_dump(isset($a['test'])); // TRUEvar_dump(isset($a['foo'])); // FALSEvar_dump(isset($a['hello'])); // FALSE

三元表达式

(expr1) ? (expr2) : (expr3) ;

表达式 (expr1) ? (expr2) : (expr3) 在 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。

另外,PHP7 中,三元表达式有了新的用法:

??是php7新推出的表达式

 $c =$ a ?? $b;等价于$c = isset($a) ? $a : $b;表示如果$a非空,则$c = $a, 如果$a为空,则 $c = $b;

isset() 结合 三元表达式的小技巧用法

当我们想判断某个值存在时,则进行赋值,否则该值不变,我们通常会这么写:

$value = 10;$value = isset($get['value']) ? $get['value'] : $value;

当没有$get['value']时,我们是不做处理,但是上面的写法明显是多了一次赋值操作,那么,结合三元表达式,我们可以写成:

$value = 10;isset($get['value']) ? $value = $get['value'] : $value;

这样,只有当$get['value']存在时,我们才对$value进行赋值处理,当$get['value']不存在时,我们不做任何处理,相对上面的写法,少了一次赋值

总结

虽然说上面的小技巧在实际应用中优化的效果不是很明显,但是对于计算机来说,就少了一次运算,对程序来说,执行时间相对就节省了一次运算时间。

但是平时我们在编码时,还是以保证程序逻辑正确为主。

本文首发于 微信公号 「phper的进阶之路」,更多干货,欢迎大家搜索关注

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值