使用变量计算数组中的值的数量

Sco*_*ttD 0 php arrays

我正在尝试计算某个值在数组中出现的次数.除此值总是递增1,并且数组中有这些值的数量未知.

例:

$first = array( 'my-value-1','my-value-2','my-value-3' );

$second = array( 'my-value-1','my-value-2','my-value-3', 'my-value-4', 'my-value-5' );
Run Code Online (Sandbox Code Playgroud)

我的目标是能够在上面的例子中检索3 for $first和5的计数$second.

数组中可能还有其他值,但我唯一感兴趣的值是那些开头的值my-value-.

我不知道数组中的值的数量,但它们总是以my-value-添加到末尾的数字开头.

有没有办法my-value-用某种通配符计算数组中显示的次数?

Abr*_*ver 7

使用正则表达式过滤数组并计算匹配的值.您也可以使用^它来强制它在开头^my-value-\d+:

$count = count(preg_grep('/my-value-\d+/', $first));
Run Code Online (Sandbox Code Playgroud)

你也可以这样做.您可以再次使用=== 0它来使其在开头匹配:

$count = count(array_filter($first, function($v) {
                                        return strpos($v, 'my-value-') !== false;
                                    }));
Run Code Online (Sandbox Code Playgroud)