Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php if else在laravel中返回错误的值_Php_Laravel - Fatal编程技术网

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

Php if else在laravel中返回错误的值,php,laravel,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

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

  $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');
  }
您在这里使用的是
if($user->timezone='UK')
equal,此时您应该使用
=

=
用于赋值,
=
用于比较值

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

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

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


如果试图将
$user->timezone
的值设置为
UK
,则需要使用
=
,否则需要使用
=
=


$a=$b

  • $a
    值设置为
    $b
$a==b

  • 相等为真:如果
    $a
    等于
    $b
    ,则在键入杂耍之后
$a===$b

  • 相同为真:如果
    $a
    等于
    $b
    ,并且它们属于相同类型

我改变了这个,然后它是另一部分发生了一些奇怪的事情不知道为什么当我使用“=”时,它是另一部分,当我使用“=”时,它是另一部分,当我使用“=”时,它是另一部分查看
时区
的值是否等于
UK
是,当时区可用时,转储显示为UK,否则为空。您现在使用的是
=
还是
==