<?php
function validate_length($min = 1, $max = null)
{
return static function ($value = null) use ($min, $max) {
$len = strlen($value);
if (null !== $min && $len < $min) {
return false;
}
if (null !== $max && $len > $max) {
return false;
}
return $value;
};
}
$a = [
'a' => 'value',
'b' => '',
'c' => 'Valid'
];
$result = filter_var_array ($a, [
'a' => ['filter' => FILTER_CALLBACK, 'options' => validate_length(null, 4)],
'b' => ['filter' => FILTER_CALLBACK, 'options' => validate_length(1)],
'c' => ['filter' => FILTER_CALLBACK, 'options' => validate_length(1, 10)]
]);
var_dump($result);
- Output for 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.29, 8.2.0 - 8.2.23, 8.3.0 - 8.3.11
- array(3) {
["a"]=>
bool(false)
["b"]=>
bool(false)
["c"]=>
string(5) "Valid"
}
- Output for 5.3.0 - 5.3.29
- Parse error: syntax error, unexpected T_FUNCTION, expecting T_PAAMAYIM_NEKUDOTAYIM in /in/m3isD on line 5
Process exited with code 255. - Output for 4.4.2 - 4.4.9, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17
- Parse error: syntax error, unexpected T_STATIC in /in/m3isD on line 5
Process exited with code 255. - Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1, 5.0.0 - 5.0.5
- Parse error: parse error, unexpected T_STATIC in /in/m3isD on line 5
Process exited with code 255. - Output for 4.3.2 - 4.3.4
- Parse error: parse error in /in/m3isD on line 5
Process exited with code 255.
preferences:
88.53 ms | 411 KiB | 5 Q