if-else在laravel中返回错误的值

时间:2016-05-27 08:02:59

标签: php laravel

请帮助我并纠正错误的地方。下面是我的代码,当时区是英国时,它会打印其他部分为什么真的不明白。

  $user = User::find(BaseHelper::getCurrentUser());
  if($user->timezone ='UK')
  {
      $date = Carbon::createFromFormat('Y-m-d H:i:s', $this->updated, 'GMT');
      $date->timezone("Europe/London");
  } else {
      $date = Carbon::parse($this->updated)->format('d/m/Y h:i A');
  }

2 个答案:

答案 0 :(得分:7)

当您使用if($user->timezone ='UK')

时,您在==等于此处

=用于分配,==用于比较值。

if($user->timezone ='UK')

不会返回true,因为该值已成功存储在变量中。

答案 1 :(得分:1)

您需要将此if($user->timezone ='UK')更改为此if($user->timezone == "UK")。这将检查$user->timezone是否等于UK

如果您尝试将$user->timezone的值设置为UK,则需要使用=,否则您需要使用==或{{1 }}

===

  • $a = $b值设为$a

$b

  • 等于:如果$a == $b等于$a,则在类型杂耍之后。

$b

  • 完全相同:如果$a === $b等于$a,且它们的类型相同。