为了账号安全,请及时绑定邮箱和手机立即绑定

检查数组键是否存在且是否为空字符串的最佳方法

检查数组键是否存在且是否为空字符串的最佳方法

PHP
汪汪一只猫 2022-08-19 10:05:01
我有一个 setter,我需要从具有特定键的数组元素传递值。如果数组键不存在,则传递null如果元素值为空字符串,则传递''null如果值不为空字符串 - 传递值'string or int or ...'我拥有的是这个:$obj->setValue(isset($array['a']) ? (!empty(trim($array['a'])) ? $array['a'] : null ) : null );有些人会争辩说它很难读。那么-什么是“清洁”方式?
查看完整描述

1 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

您可以将 null 合并运算符(捕获 null 和不存在的键)与空的三元运算符(捕获空值)链接在一起:


$obj->setValue($array['a'] ?? null ?: null);

例:


$array = [

    'a' => 'foo',

    'b' => '',

];

var_dump($array['a'] ?? null ?: null); // 'foo'

var_dump($array['b'] ?? null ?: null); // null

var_dump($array['c'] ?? null ?: null); // null


查看完整回答
反对 回复 2022-08-19
  • 1 回答
  • 0 关注
  • 109 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信