[英]laravel In_array() function part of string detect
這是數組如下:
$array = ['blog.setting', 'blog.post', 'blog.delete', 'blog.edit', 'other.other'];
我想知道是否存在具有'blog.'
; 或許這樣就完美了。
in_array('blog.*', $array)
誰能幫我?
正如您在標簽中提到的 Laravel 一樣,您可以這樣做:
use Illuminate\Support\Str;
use Illuminate\Support\Collection;
$blogTest = Collection::make($array)
->contains(function ($elt) {
return Str::is('blog.*', $elt);
});
您可以使用純 PHP 像:
$array = ['blog.setting', 'blog.post', 'blog.delete', 'blog.edit', 'other.other'];
$string = implode(',',$array);
if (strpos($string, 'blog') !== false) {
dump('There is blog string inside of given array!');
return true;
}
你需要使用正則表達式和array_filter
方法
$array = ['blog.setting', 'blog.post', 'blog.delete', 'blog.edit', 'other.other'];
$filtered = array_filter($array, function($value){
return preg_match('/^blog\..*$/m', $value);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.