我正在尝试检查变量是否为空,如果是,则将另一个变量设置为一个字符串,如果不是,则将另一个变量设置为第一个变量。现在我正在使用三元运算符,但我想知道是否有更短的方法来执行此操作,因为它将其设置为逻辑中使用的变量。
这是我的代码:
$company_name = $project->company->name;
$this->project['company_name'] = !empty($company_name)
? $company_name
: "Company";
答案 0 :(得分:1)
如果您使用PHP 5.3+,则可以使用?:,但不能使用
$this->project['company_name'] = $company_name ?: "Company";
空变量应评估为false并指定“Company”。
答案 1 :(得分:0)
尝试为更多变量传递函数。你可以使用它来检查多个变量。否则我认为没办法检查你使用和设置其他值相同(你已经在使用缩短)
$check = mycheck($check, 'mysting');
function mycheck($check, 'mysting') {
$return = (!empty($check) ? $check : "mysting");
return $return;
}
答案 2 :(得分:-1)
$this->project['company_name'] = !empty($project->company->name)
? $project->company->name
: "Company";
答案 3 :(得分:-2)
您可以在函数调用变量= company中使用。然后省略三元运算符。
function xyz ($company="company") {
if ($this->project['company_name']) {
$company=$this->project['company_name'] ;
}
功能甚至不需要返回,取决于使用情况。