filter_var_array () порядок исполнения и правила

Ниже приведен простой фрагмент кода, который показывает работу filter_var_array (),

 <?php

$data = array('age' => 21,
'rating' => 4,
'price' => 9.95,
'thousands' => '100,000.95',
'european' => '100.000,95'
);

$instructions = array('age' => FILTER_VALIDATE_INT,

'rating' => array('filter' => FILTER_VALIDATE_INT,
'options' => array('min_range' => 1,
'max_range' => 4)),

'price' => array('filter' => FILTER_SANITIZE_NUMBER_FLOAT,
'flags' => FILTER_FLAG_ALLOW_FRACTION),

'thousands' => array('filter' => FILTER_SANITIZE_NUMBER_FLOAT,
'flags' => FILTER_FLAG_ALLOW_FRACTION |
FILTER_FLAG_ALLOW_THOUSAND),

'european' => array('filter' => FILTER_VALIDATE_FLOAT,
'options' => array('decimal' => ','),
'flags' => FILTER_FLAG_ALLOW_THOUSAND)
);

$filtered = filter_var_array($data, $instructions);
var_dump($filtered);

на первый взгляд довольно трудно понять, в каком порядке / в каком порядке выполняется эта функция (filte_var_array ()).

учитывая следующую строку кода из приведенного выше фрагмента:

$filtered = filter_var_array($data, $instructions);

это как пойти проверить 1-й ключ в $ data и попытаться сопоставить его с условиями, указанными в 1-м ключе в $ инструкциях? а затем продолжается в этом порядке? еще один важный вопрос: попытается ли эта функция сопоставить 1-й ключевой элемент в $ data с 1-м ключом правил проверки в $ инструкциях? или он войдет в $ инструкции и найдет во всем массиве подходящее имя ключа? в среднем в $ data предположим, что у меня есть следующий порядок ключей:

name =>
rating =>
stars =>
reviews =>

в инструкциях я могу иметь ключи правила проверки в другом порядке:

rating =>
name =>
reviews =>
stars =>

??

Что делать, если у меня есть разные имена для ключей в $ data и $ инструкциях? или что если в $ data есть, скажем, 5 ключей, а в соответствующем массиве $ инструкции у меня есть 4 ??

Благодарю .

Тенали.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]