Laravel-检查数组中是否存在值

问题描述 投票:0回答:2

为什么此代码每次都返回false?

$lics = collect(['lic100' => auth()->user()->lic100, 'lic250' => auth()->user()->lic250, 'lic500' => auth()->user()->lic500]);
$licsowned = $lics->filter()->keys();
$haslicense = property_exists($licsowned, $data['lictype']);

$ licsown:

Illuminate\Support\Collection {#367 ▼
 #items: array:3 [▼
  0 => "lic100"
  1 => "lic250"
  2 => "lic500"
 ]
}

$ data ['lictype']的值为lic250

我也尝试过in_array(),但是它给出了错误消息,该值必须是数组,并且我传递了一个对象。

arrays laravel collections contains
2个回答
2
投票

您需要使用contains()实例的Collection方法。


2
投票

您的$licsowned变量是一个集合。您可以使用contains()方法。示例:

$licsowned->contains('lic100')

有关contains()的更多信息:https://laravel.com/docs/7.x/collections#method-contains

© www.soinside.com 2019 - 2024. All rights reserved.