filter_var

Filters a variable with a specified filter

&reftitle.description; `mixed` `filter_var` `mixed` `value` `int` `filter` `FILTER_DEFAULT` ``array``int```options` 0
&reftitle.parameters;

`value`

- Value to filter. Note that scalar values are converted to string internally before they are filtered.

&filter.param.filter;

`options`

- Associative array of options or bitwise disjunction of flags. If filter accepts options, flags can be provided in "flags" field of array. For the "callback" filter, `callable` type should be passed. The callback must accept one argument, the value to be filtered, and return the value after filtering/sanitizing it.

      <?php
      // for filters that accept options, use this format
      $options = array(
          'options' => array(
              'default' => 3, // value to return if the filter fails
              // other options here
              'min_range' => 0
          ),
          'flags' => FILTER_FLAG_ALLOW_OCTAL,
      );
      $var = filter_var('0755', FILTER_VALIDATE_INT, $options);

      // for filters that only accept flags, you can pass them directly
      $var = filter_var('oops', FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE);

      // for filters that only accept flags, you can also pass as an array
      $var = filter_var('oops', FILTER_VALIDATE_BOOLEAN,
                        array('flags' => FILTER_NULL_ON_FAILURE));

      // callback validate filter
      function foo($value)
      {
          // Expected format: Surname, GivenNames
          if (strpos($value, ", ") === false) return false;
          list($surname, $givennames) = explode(", ", $value, 2);
          $empty = (empty($surname) || empty($givennames));
          $notstrings = (!is_string($surname) || !is_string($givennames));
          if ($empty || $notstrings) {
              return false;
          } else {
              return $value;
          }
      }
      $var = filter_var('Doe, Jane Sue', FILTER_CALLBACK, array('options' => 'foo'));
      ?>

&reftitle.returnvalues;

Returns the filtered data, or &false; if the filter fails.

&reftitle.examples;

### A `filter_var` example

    <?php
    var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
    var_dump(filter_var('http://example.com', FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED));
    ?>

&example.outputs;

    string(15) "bob@example.com"
    bool(false)

### Filter an array example

    <?php
    $emails = [
        "bob@example.com",
        "test@example.local",
        "invalidemail"
    ];

    var_dump(filter_var($emails, FILTER_VALIDATE_EMAIL, FILTER_REQUIRE_ARRAY));
    ?>

&example.outputs;

    array(3) {
      [0]=>
      string(15) "bob@example.com"
      [1]=>
      string(18) "test@example.local"
      [2]=>
      bool(false)
    }

&reftitle.seealso;

- `filter_var_array`
- `filter_input`
- `filter_input_array`
- filter.filters