簡體   English   中英

laravel In_array() function 部分字符串檢測

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM