Sanes
@Sanes

Как посчитать ключи в массиве по маске?

Есть массив
[key.usage] => 0
[key.time] => 30000
[my.key0.time] => 331
[my.key1.time] => 331
[my.key2.time] => 331

Как можно получить кол-ко ключей my.key*? В данном примере 3.
Кол-во может меняться или даже отсутствовать.
  • Вопрос задан
  • 142 просмотра
Решения вопроса 2
0xD34F
@0xD34F
$count = array_reduce(array_keys($arr), function($acc, $n) {
  return $acc + (strpos($n, 'my.key') === 0);
}, 0);
Ответ написан
mad_maximus
@mad_maximus
$pattern = '/my.key.*/';
$count = null;

foreach ($arr as $key => $value) {
    if (!preg_match($pattern, $key, $match)) {
        continue;
    }

    $count += 1;
}

echo $count;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы