如果数组值为空或如何设置为空,如何写正确?

How to write correct if array value is empty or how to set to empty?

让我们以简单的视图元素为例

 {{ Form::select('license',$licenses, $selectedLicenses->value, array('class'=>'form-control')) }}

依赖控制器returns

return View::make('user.cv.4', array('licenses'=> $licences,'selectedLicenses'   => $selectedLiceses,)

所以问题是,如果用户第一次创建 cv,其中 $licenses 将是 NULL 并且编译器会抛出这样的错误 $selectedLicenses->value Trying to get property of non-object

所以问题是如果父变量$selectedLiceses如何做到$selectedLicenses->value也为NULL?可以在没有任何 if 语句的情况下做到这一点吗?我想让我的代码尽可能简单。

我正在使用 php 和 laravel 框架。我的模型看起来像

class License extends Eloquent{
    protected $table = 'license';
    protected $fillable = array('value','licenseStart','licenseEnd');
    public $timestamps = false;
}

我认为没有 if 是做不到的。

您可以使用 shorthand:

{{ Form::select('license',$licenses, ($selectedLicenses != null ? $selectedLicenses->value : null), array('class'=>'form-control')) }}

或者在注入之前将值设置为空。

if($selectedLicenses == null){
    $selectedLicenses = (object) array('value' => null);
}
// return View::make etc...

在这种情况下使用三元运算符,如下所示

$value = ($selectedLicenses) ? $selectedLicenses->value : '';

看看,是否有效。