Php,isset – 默认值,可以简化吗?

这是:

$result = $this->getSomething();

$db = new Db();
$db->save($result['DATA']); // might exists or not
$db->save($result['IP']); // might exists or not
$db->save($result['X']); // might exists or not

但那些数组键不一定存在.我可以写这个:

$result = $this->getSomething();

if (!isset($result['DATA']))
{
    $result['DATA'] = null;
}
//same for the other keys

$db = new Db();
$db->save($result['DATA']);
$db->save($result['IP']);
$db->save($result['X']);

但它非常繁琐.有什么方法可以简化这个吗?

解决方法:

PHP 7开始(每个都应该开始使用),您可以使用新的coalesce运算符来执行此操作:

$db->save($result['DATA'] ?? null);

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...