在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;
时无法正常工作。为什么呢?
代码的差异为==
和===
。
答案 0 :(得分:4)
愿这对你有所帮助。
在比较PHP中的值是否相等时,您可以使用==
运算符或===
运算符。 2之间有什么区别?嗯,这很简单。 ==
运算符只是检查左右值是否相等。但是,===
运算符(注意额外的=
)实际检查左边和右边的值是否相等,并检查它们是否属于相同的变量类型(如同它们是否相同)布尔,英特尔等。)。