Laravel - 检查值是否存在于数组中
Laravel - Check if value is present in array
为什么这段代码 return 每次都是错误的?
$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_array() 但它给出了错误消息,指出值必须是一个数组,我传递了一个对象。
您的 $licsowned
变量是一个集合。您可以使用 contains()
方法。示例:
$licsowned->contains('lic100')
有关 contains()
的更多信息:https://laravel.com/docs/7.x/collections#method-contains
您需要使用 Collection
实例的 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');
更多信息:
为什么这段代码 return 每次都是错误的?
$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_array() 但它给出了错误消息,指出值必须是一个数组,我传递了一个对象。
您的 $licsowned
变量是一个集合。您可以使用 contains()
方法。示例:
$licsowned->contains('lic100')
有关 contains()
的更多信息:https://laravel.com/docs/7.x/collections#method-contains
您需要使用 Collection
实例的 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');
更多信息: