2016-05-27 9 views
1

私が助けて間違っている箇所を修正してください。以下はタイムゾーンが英国のときに私が作成したコードです。実際に理解していない部分を印刷します。あなたは==if-else laravelで間違った値を返します

=を使用する必要があるときは、ここに等しいif($user->timezone ='UK')を使用している

$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'); 
    } 

答えて

1

if($user->timezone ='UK')if($user->timezone == "UK")に変更する必要があります。これは、$user->timezoneUKに等しいかどうかをチェックします。あなたは=を使用する必要がUK$user->timezoneの値を設定しようとしたしている場合


は、そうでなければ、=====


$a = $b

  • $aを設定して使用する必要があります値を$b

$a == $b

  • 真等しい:$aタイプジャグリング後、$bに等しい場合。
  • 真同一

$a === $b

  • $a$bに等しく、それらは同じものである場合。
+0

私はこれを変更しましたelse part – user2110253

+0

何か不思議なことが起こっている理由を知っていませんなぜ私は '='を使用して両方の状態でそれが取っている場合は、私は '=='他の部分を取っています – user2110253

+0

ダンプ($ user-> timezone)し、 'timezone'の値が' UK'と等しいかどうかを確認できます –

6

は、割り当てのためのものであり、==は値を比較するためです。

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

は、値が変数に正常に格納されているため、trueを返しません。

関連する問題