1
filter_var_array
とFILTER_CALLBACK
を使用すると、デフォルト値を定義する方法(またはコールバックを毎回強制的に呼び出す方法)がありますか?デフォルト値のPHPフィルタコールバック
例データ:
{
"name": "John"
}
使用例:
$params = filter_var_array($datas_from_above, [
'name' => FILTER_SANITIZE_STRING,
'age' => [
'filter' => FILTER_CALLBACK,
'options' => function ($data) {
// I was thinking $data would be null here
// but this function is not called if the
// param is not present in the input array.
die('stop?');
}
]
], true); // Add missing keys as NULL to the return value
他のフィルタを使用する場合は、default
オプションがあります。したがって、コールバックフィルタのデフォルト値を持つことは超自然ではありません。私は明白な何かを欠いていますか
おかげ
はそれが可能だとは思いません。 。それは、既存のデータをフィルタリングすることになっており、何も作成していない... – Narf
あなたは正しいようです。デフォルト値はバリデーター(boolean、intなど)が入力を検証しない場合のみです。入力がここにない場合(TRUEがfilter_var_arrayの3パラメータであっても)ではありません。ありがとう – rekam