gpt4 book ai didi

Laravel where()vs whereLoose()方法

转载 作者:行者123 更新时间:2023-12-04 05:47:45 25 4
gpt4 key购买 nike

Laravel的wherewhereLoose方法有什么区别?

该文档说:

where():

The where method uses strict comparisons when checking item values. Use the whereLoose method to filter using "loose" comparisons.

whereLoose():

This method has the same signature as the where method; however, all values are compared using "loose" comparisons.



在这种情况下,“松散比较”是什么意思?

最佳答案

where方法使用严格的比较(===),这意味着它还会检查值的类型。例如,如果一个是字符串,另一个是数字,则永远不会匹配。
whereLoose方法使用松散比较(==),这意味着它不会检查值的类型。例如,如果一个是字符串,另一个是数字,则如果它们的值相同,则仍将匹配。

$collection = collect([['price' => 100], ['price' => 200]]);

$collection->where('price', '100'); // []

$collection->whereLoose('price', '100'); // [['price' => 100]]

您可以在 the PHP docs中找到所有差异的表。

注意:这将在Laravel 5.3中进行更改: where方法现在将使用松散比较,并且 whereLoose方法将被删除。要使用严格相等,您将 ===作为第二个参数传递:

$collection = collect([['price' => 100], ['price' => 200]]);

$collection->where('price', '100'); // [['price' => 100]]

$collection->where('price', '===', '100'); // []

关于Laravel where()vs whereLoose()方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33697274/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com