本期视频登录后即可观看

Collections - 使用 has 和 contains 方法 判断某键某值是否存在

本期 Laravel 视频教程我们学习一下如何判断某键某值是否存在,使用has判定键是否存在,使用contains判定值是否存在,使用最多的就是判定值是否存在,使用contains可以指定复杂的判定规则

running8 2019.10.03 03:54

$data=collect(['name' => 'mouse','price'=>100,'online'=>true,'supplier'=>'apple','type'=>'T100']);

$result=$data->contains('Desk');//有一个值是true的话,总是返回 true;

$data=collect(['name' => 'mouse','price'=>100,'supplier'=>'apple','type'=>'T100']);

$result=$data->contains('Desk');

llkllc 2019.10.03 06:00

趁着站长不在,我来得瑟下😂 如果第一个参数不是闭包的话,contains 方法用的是 in_array 来判断的,并且不是严格匹配。像这种情况我觉得可以传闭包

国营 2019.10.03 07:13

我的疏忽,我确实忘了这个函数有这个问题了,llkllc说的很对,确实是in_array()没有进行严格匹配的锅,contains方法中使用in_array时没有使用严格模式,只传递了两个参数。解决方法用闭包函数确实可以,或者直接使用containsStrict这种严格匹配的方式。

国营 2019.10.03 07:14

我的疏忽,我确实忘了这个函数有这个问题了,llkllc解释的也挺清楚的,遇到这种问题可以直接使用containsStrict这种严格匹配的方式。

狗尾草 2019.10.08 00:23

祝福站长,也为站长祈福平安

微信扫码登录