Arrays Laravel-检查数组中是否存在值
为什么这个代码每次都返回falseArrays Laravel-检查数组中是否存在值,arrays,laravel,collections,contains,Arrays,Laravel,Collections,Contains,为什么这个代码每次都返回false $lics = collect(['lic100' => auth()->user()->lic100, 'lic250' => auth()->user()->lic250, 'lic500' => auth()->user()->lic500]); $licsowned = $lics->filter()->keys(); $haslicense = property_exists($lic
$lics = collect(['lic100' => auth()->user()->lic100, 'lic250' => auth()->user()->lic250, 'lic500' => auth()->user()->lic500]);
$licsowned = $lics->filter()->keys();
$haslicense = property_exists($licsowned, $data['lictype']);
$licsowned:
Illuminate\Support\Collection {#367 ▼
#items: array:3 [▼
0 => "lic100"
1 => "lic250"
2 => "lic500"
]
}
$data['lictype']的值为lic250
我还尝试了in_数组,但它给出了错误消息,即值必须是数组,并且我传递了一个对象。您的$licsowned变量是一个集合。您可以使用contains方法。例如:
$licsowned->contains('lic100')
有关contains的详细信息:您的$licsowned变量是一个集合。您可以使用contains方法。例如:
$licsowned->contains('lic100')
有关contains的更多信息:您需要使用收集实例的contains方法
例如:
$collection = collect(['name' => 'Desk', 'price' => 100]);
$collection->contains('Desk');
或者,在您的任务中:
$lics = collect(['lic100' => auth()->user()->lic100, 'lic250' => auth()->user()->lic250, 'lic500' => auth()->user()->lic500]);
$lics->contains('lic250');
更多信息:
您需要使用集合实例的contains方法
例如:
$collection = collect(['name' => 'Desk', 'price' => 100]);
$collection->contains('Desk');
或者,在您的任务中:
$lics = collect(['lic100' => auth()->user()->lic100, 'lic250' => auth()->user()->lic250, 'lic500' => auth()->user()->lic500]);
$lics->contains('lic250');
更多信息:
那么,您是否尝试了收集实例的contains方法?我做到了,伙计@OlegNurutdinov请详细说明一下答案,否则我不得不接受另一个,因为它包含更多信息和示例。谢谢,更新了。bo应该比以前更好。那么,您是否尝试了集合实例的contains方法?我做到了,伙计@OlegNurutdinov请详细说明一下答案,否则我不得不接受另一个,因为它包含更多信息和示例。谢谢,更新了。应该比以前更好。