Sanes
@Sanes

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

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

Как можно получить кол-ко ключей my.key*? В данном примере 3.
Кол-во может меняться или даже отсутствовать.
  • Вопрос задан
  • 137 просмотров
Решения вопроса 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;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
24 апр. 2024, в 20:35
5000 руб./за проект
24 апр. 2024, в 19:51
1000 руб./за проект