php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #70263 filter_input_array 'add_empty' fails if query string absent
Submitted: 2015-08-13 22:24 UTC Modified: -
Votes:2
Avg. Score:5.0 ± 0.0
Reproduced:2 of 2 (100.0%)
Same Version:0 (0.0%)
Same OS:0 (0.0%)
From: mike dot whipps at littlevale dot co dot uk Assigned:
Status: Open Package: Filter related
PHP Version: 5.5.28 OS: Linux Fedora 20
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2015-08-13 22:24 UTC] 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


Patches

Add a Patch

Pull Requests

Add a Pull Request

 
PHP Copyright © 2001-2019 The PHP Group
All rights reserved.
Last updated: Sun Mar 24 10:01:25 2019 UTC