Есть "класс" Allowed, который сравнивает ключи массивов( 1 - существующий массив (разрешенные поля) и 2 - массив который пришел (POST запрос) )
вот его краткая реализация:
$one = array('one','two','three'); //существующий массив эти поля разрешены
$arr = array('one'=>1,'two'=>2,'three'=>3,'four'=>4); //пришел POST
$two = array_keys($arr); // заберу ключи у массива который пришел
$three = array_intersect($one,$two); // Сравню массивы
$out = array(); // сюда запишем совпадения
foreach($arr as $key => $value){
if(in_array($key, $three)){
$out[$key] = $value;
}
}
Вернет только те элементы массива, ключи которого совпадают с существующим...
Правильная ли реализация, мне кажется что я что-то упустил, и все можно сделать на много проще.
"Класс" служит для того, чтобы предотвратить xss и т.п