Как оставить в массиве значения начинающиеся с определенного слова?
$post_list = [
'filter_color' => true,
'filter_storage' => true,
'filter_ram' => true,
'filter_used' => true,
'filter_brand' => true,
];
Есть массив с данными, мне нужно оставить только значение начинающееся с filter_*
Как это можно сделать, помогите пожалуйста
Ответы (1 шт):
Автор решения: InDevX
→ Ссылка
$post_list = [
'color_filter' => true,
'filter_color' => true,
'filter_storage' => true,
'filter_ram' => true,
'filter_used' => true,
'filter_brand' => true,
];
$post_list = array_filter($post_list, function ($key) {
return strpos($key, 'filter_') === 0;
}, ARRAY_FILTER_USE_KEY);
var_dump($post_list);
// вывод:
//array(5) {
// ["filter_color"]=>
// bool(true)
// ["filter_storage"]=>
// bool(true)
// ["filter_ram"]=>
// bool(true)
// ["filter_used"]=>
// bool(true)
// ["filter_brand"]=>
// bool(true)
//}