У меня есть переменная набор одинаковых полей ввода в моей форме, где некоторые могут быть пустыми.использование filter_input_array и array_filter в том же массиве
<input type="text" class="form-control" name="option[]" placeholder="fill in" />
<input type="text" class="form-control" name="option[]" placeholder="optional" />
<input type="text" class="form-control" name="option[]" placeholder="optional" />
значения этих полей ввода приходят в массив $_POST["option"]
Я хочу, чтобы фильтровать $_POST["option"]
и для этого я использую следующий код:
$filter = array("option" => array("filter"=>FILTER_CALLBACK,"flags"=>FILTER_FORCE_ARRAY,"options"=>"ucwords"));
$optionfin = filter_input_array(INPUT_POST, $filter);
Но теперь я хочу также используйте функцию array_filter
, чтобы удалить пустые поля, чтобы я мог вставлять только заполненные поля в мою базу данных, но это, похоже, не работает.
$option = array_filter($optionfin);
, когда я делаю следующее:
$optionfin = array_filter($_POST["option"]);
это работает нормально, но я знаю, что ты лучше не обращаться к $_POST
таким образом, потому что это не то, что безопасно ...
Может ли кто-нибудь помочь мне указать, где я иду не так?
Благодаря
'$ newvar = $ _POST [ 'вариант'];' и затем сделать '$ optionfin = array_filter ($ newvar); ' – Svenskunganka
Таким образом, это работает, я знаю, я уже сказал, что в моем первоначальном вопросе здесь. Но я хочу фильтровать строки и целые числа. Поэтому я хотел бы использовать 'filter_input_array' для этого! – Peter