<?php
$GET = [
'pay' => 0,
'card' => 1,
'test' => false,
];
$arr = [
0 => (object)['pay' => 1],
1 => (object)['card' => 1],
2 => (object)['pay' => 0],
3 => (object)['card' => 0],
4 => (object)['card' => 0, 'pay' => 1],
5 => (object)['card' => 1, 'pay' => 1],
6 => (object)['card' => 0, 'pay' => 0],
7 => (object)['card' => 1, 'pay' => 0],
];
$allowedFilter = [
'pay',
'card',
];
$allowedValues = [0, 1];
foreach ($arr as $index => $item) {
$allFilter = true;
foreach ($allowedFilter as $key) {
if (!isset($GET[$key]) || !in_array($GET[$key], $allowedValues)) { //Нет фильтра, либо значение неправильно. Игнорируем фильтр
continue;
}
//Фильтр неактивный, значение тоже должно быть неактивно, для принятия
} elseif (!empty($GET[$key]) && !empty($item->$key)) { //Фильтр активный, значение тоже должно быть активно, для принятия
} else {
//Фильтр отличается от значения, охрана отмена =)
$allFilter &= false;
}
}
if ($allFilter) {
echo "Все фильтры совпали в позиции #{$index}\n";
}
}
PD9waHAKCiRHRVQgPSBbCgkncGF5JyA9PiAwLAoJJ2NhcmQnID0+IDEsCgkndGVzdCcgPT4gZmFsc2UsCl07CgokYXJyID0gWwoJMCA9PiAob2JqZWN0KVsncGF5JyA9PiAxXSwKCTEgPT4gKG9iamVjdClbJ2NhcmQnID0+IDFdLAoJMiA9PiAob2JqZWN0KVsncGF5JyA9PiAwXSwKCTMgPT4gKG9iamVjdClbJ2NhcmQnID0+IDBdLAoJNCA9PiAob2JqZWN0KVsnY2FyZCcgPT4gMCwgJ3BheScgPT4gMV0sCgk1ID0+IChvYmplY3QpWydjYXJkJyA9PiAxLCAncGF5JyA9PiAxXSwKCTYgPT4gKG9iamVjdClbJ2NhcmQnID0+IDAsICdwYXknID0+IDBdLAoJNyA9PiAob2JqZWN0KVsnY2FyZCcgPT4gMSwgJ3BheScgPT4gMF0sCl07CgokYWxsb3dlZEZpbHRlciA9IFsKCSdwYXknLAoJJ2NhcmQnLApdOwokYWxsb3dlZFZhbHVlcyA9IFswLCAxXTsKCmZvcmVhY2ggKCRhcnIgYXMgJGluZGV4ID0+ICRpdGVtKSB7CgkkYWxsRmlsdGVyID0gdHJ1ZTsKCglmb3JlYWNoICgkYWxsb3dlZEZpbHRlciBhcyAka2V5KSB7CgkJaWYgKCFpc3NldCgkR0VUWyRrZXldKSB8fCAhaW5fYXJyYXkoJEdFVFska2V5XSwgJGFsbG93ZWRWYWx1ZXMpKSB7CgkJCS8v0J3QtdGCINGE0LjQu9GM0YLRgNCwLCDQu9C40LHQviDQt9C90LDRh9C10L3QuNC1INC90LXQv9GA0LDQstC40LvRjNC90L4uINCY0LPQvdC+0YDQuNGA0YPQtdC8INGE0LjQu9GM0YLRgAoJCQljb250aW51ZTsKCQl9CgoJCWlmIChlbXB0eSgkR0VUWyRrZXldKSAmJiBlbXB0eSgkaXRlbS0+JGtleSkpIHsKCQkJLy/QpNC40LvRjNGC0YAg0L3QtdCw0LrRgtC40LLQvdGL0LksINC30L3QsNGH0LXQvdC40LUg0YLQvtC20LUg0LTQvtC70LbQvdC+INCx0YvRgtGMINC90LXQsNC60YLQuNCy0L3Qviwg0LTQu9GPINC/0YDQuNC90Y/RgtC40Y8KCQl9IGVsc2VpZiAoIWVtcHR5KCRHRVRbJGtleV0pICYmICFlbXB0eSgkaXRlbS0+JGtleSkpIHsKCQkJLy/QpNC40LvRjNGC0YAg0LDQutGC0LjQstC90YvQuSwg0LfQvdCw0YfQtdC90LjQtSDRgtC+0LbQtSDQtNC+0LvQttC90L4g0LHRi9GC0Ywg0LDQutGC0LjQstC90L4sINC00LvRjyDQv9GA0LjQvdGP0YLQuNGPCgkJfSBlbHNlIHsKCQkJLy/QpNC40LvRjNGC0YAg0L7RgtC70LjRh9Cw0LXRgtGB0Y8g0L7RgiDQt9C90LDRh9C10L3QuNGPLCDQvtGF0YDQsNC90LAg0L7RgtC80LXQvdCwID0pCgkJCSRhbGxGaWx0ZXIgJj0gZmFsc2U7CgkJfQoJfQoKCWlmICgkYWxsRmlsdGVyKSB7CgkJZWNobyAi0JLRgdC1INGE0LjQu9GM0YLRgNGLINGB0L7QstC/0LDQu9C4INCyINC/0L7Qt9C40YbQuNC4ICN7JGluZGV4fVxuIjsKCX0KfQo=