为什么代码与===不起作用,而与==一起工作正常?

时间:2016-02-09 10:37:09

标签: laravel

在laravel中,我正在通过任务列表的中级教程并遇到问题。如果你转到这个链接:https://laravel.com/docs/5.2/quickstart-intermediate#deleting-tasks,在“授权”标题下,你会发现下面提到的代码:

public function destroy(User $user, Task $task)
{
    return $user->id === $task->user_id;
}

此处destroy方法在包含return $user->id == $task->user_id;时工作正常但在包含return $user->id === $task->user_id;时无法正常工作。为什么呢?

代码的差异为=====

1 个答案:

答案 0 :(得分:4)

愿这对你有所帮助。

在比较PHP中的值是否相等时,您可以使用==运算符或===运算符。 2之间有什么区别?嗯,这很简单。 ==运算符只是检查左右值是否相等。但是,===运算符(注意额外的=)实际检查左边和右边的值是否相等,并检查它们是否属于相同的变量类型(如同它们是否相同)布尔,英特尔等。)。