Если вы хотите проверить наличие определенного элемента, вы можете использовать:
Но если вы хотите проверить, есть ли хотя бы один элемент, ключ которого начинается с b.
у вас не будет большого выбора: вам придется перебирать массив, проверяя каждый ключ.
Возможное решение может выглядеть следующим образом:
$array = array(
'page' => 'plop',
'b.test' => 150,
'b.glop' => 'huhu',
);
$found_item_b = false;
foreach (array_keys($array) as $key) {
if (strpos($key, 'b.') === 0) {
$found_item_b = true;
break;
}
}
if ($found_item_b) {
echo "there is at least one b.";
}
Другой (возможно, более увлекательный, но не обязательно более эффективный ^^) способ - получить массив элементов, ключ которых начинается с b.и используйте count()
в этом массиве:
$array_b = array_filter(array_keys($array), function ($key) {
if (strpos($key, 'b.') === 0) {
return true;
}
return false;
});
echo count($array_b);