Bug #70263 [Opn->Nab]: filter_input_array 'add_empty' fails if query string absent
| From: | cmb@php.net | Date: | Sat, 11 Apr 2020 13:50:02 +0000 |
| Subject: | Bug #70263 [Opn->Nab]: filter_input_array 'add_empty' fails if query string absent | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-226530@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=70263&edit=1
ID: 70263
Updated by: cmb@php.net
Reported by: mike dot whipps at littlevale dot co dot uk
Summary: filter_input_array 'add_empty' fails if query string
absent
-Status: Open
+Status: Not a bug
Type: Bug
Package: Filter related
Operating System: Linux Fedora 20
PHP Version: 5.5.28
-Assigned To:
+Assigned To: cmb
Block user comment: N
Private report: N
New Comment:
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to
report
a bug at http://bugs.php.net/how-to-report.php
From the manual[1]:
| If the input array designated by type is not populated, the
| function returns NULL [â¦]
[1] <https://www.php.net/manual/en/function.filter-input-array.php#refsect1-function.filter-input-array-returnvalues>
Previous Comments:
------------------------------------------------------------------------
[2019-11-01 13:22:38] vorbox+php at pp dot me
confirmed PHP7.4.0RC5 Windows 7 32.
------------------------------------------------------------------------
[2015-08-13 22:24:32] mike dot whipps at littlevale dot co dot uk
Description:
------------
filter_input_array(INPUT_GET, $filters, true) does not add empty fields to the output array if the
query string is absent. It does add them correctly if even one parameter appears.
Note that filter_var_array($_GET, $filters, true) does add the empty fields correctly.
Test script:
---------------
$getFilters = [
'id'=>['filter'=>FILTER_VALIDATE_INT,
'flags'=>FILTER_REQUIRE_SCALAR,
'options'=>['min_range'=>1]
],
'name'=>FILTER_UNSAFE_RAW
];
echo '$_GET: <br>';
var_dump($_GET);
$req = filter_input_array(INPUT_GET, $getFilters, true);
echo '<hr>$req:<br>';
var_dump($req);
echo '<hr>$reqGet<br>';
$reqGet = filter_var_array($_GET, $getFilters, true);
var_dump($reqGet);
Actual result:
--------------
Execute the above script with no query string gives this result:
$_GET:
array (size=0)
empty
$req:
null
$reqGet
array (size=2)
'id' => null
'name' => null
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=70263&edit=1