PHP 中有没有办法使用 null coalesing/nullsafe 运算符默认不设置任何值?
Is there a way in PHP to use null coalesing/nullsafe operators to default to not set any value?
我只看到用例是空合并可用于链接值,但不能省略任何值。
我是否遗漏了一些重要的东西,或者真的没有 shorthand 写这个的方法:
$model->name = "Example";
if(isset($input->name)) {
$validName = $this->doSomeValidationEventualyReturnNull($input->name);
if($validName) {
$model->name = $validName;
}
}
我可以推荐这个衬垫,它与空合并有关。
$model->name = isset($input->name) ? ($this->doSomeValidationEventualyReturnNull($input->name) ?? $model->name) : $model->name;
我只看到用例是空合并可用于链接值,但不能省略任何值。
我是否遗漏了一些重要的东西,或者真的没有 shorthand 写这个的方法:
$model->name = "Example";
if(isset($input->name)) {
$validName = $this->doSomeValidationEventualyReturnNull($input->name);
if($validName) {
$model->name = $validName;
}
}
我可以推荐这个衬垫,它与空合并有关。
$model->name = isset($input->name) ? ($this->doSomeValidationEventualyReturnNull($input->name) ?? $model->name) : $model->name;