2016-12-24 78 views
0

例如,計數陣列始於特定字符

echo count($_GET); 

打印所有值的數目,如何計算值與「貓」開始。

價值就像

array(2) { 
    ["cat1"]=> 
    string(1) "a" 
    ["cat2"]=> 
    string(1) "b" 
    ["dog1"]=> 
    string(1) "c" 
} 
+1

1.用foreach迭代2.用strpos檢查它是否以「cat」開頭3.增加一個計數器。 – Federkun

回答

1

使用預浸料用grep

$list = array ('cat1', 'cat2', 'dog'); 
$res = preg_grep ('/^cat/i', $list); 
print_r(count($res)); 
0

獲取數組$ _GET的所有鍵與array_keys方法,配合preg_rep檢查與所需開頭的字符串所需要的那些字符串,並計算它們匹配的數量。

count(preg_rep('/^cat/',array_keys($_GET))); 
0

你可以用一個循環檢查,使用substr獲取字符串鍵值的前三個字符,然後使用strcmp比較,爲字「貓」:

$cats = 0; 
foreach ($_GET as $key => $val){ 
    if(strcmp(substr($key,0,3),'cat')==0){ 
      $cats++; 
    } 
} 
echo $cats; 
1
<?php 
$list = array ('cat1', 'cat2', 'dog'); 
$numCat = 0; 
array_walk($list, function($v) use(&$numCat) {substr($v, 0, 3) == 'cat' ? $numCat += 1 : '';}); 
echo $numCat; 
0

這裏是另一種方式,

我希望這會有所幫助。