• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • filter_has_var()

    (PHP 5 >= 5.2.0, PHP 7)

    检测是否存在指定类型的变量

    说明

    filter_has_var(int $type,string $variable_name): bool

    参数

    $type

    INPUT_GETINPUT_POSTINPUT_COOKIEINPUT_SERVERINPUT_ENV里的其中一个。

    $variable_name

    要检查的变量名。

    返回值

    成功时返回TRUE,或者在失败时返回FALSE

    Through this example i think you can better understand
      if ( !filter_has_var(INPUT_GET, 'email') ) {
        echo "Email Not Found";
      }else{
        echo "Email Found";
      }
      Output
      localhost/nanhe/test.php?email=1 //Email Found
      localhost/nanhe/test.php?email //Email Found
      http://localhost/nanhe/test.php //Email Not Found
    Consider on second example
    http://localhost/nanhe/test.php
    $_GET['email']="info@nanhe.in";
    if ( !filter_has_var(INPUT_GET, 'email') ) {
        echo "Email Not Found";
      }else{
        echo "Email Found";
      }
    But output will be Email Not Found
    Please note that the function does not check the live array, it actually checks the content received by php:
    <?php
    $_GET['test'] = 1;
    echo filter_has_var(INPUT_GET, 'test') ? 'Yes' : 'No';
    ?>
    would say "No", unless the parameter was actually in the querystring.
    Also, if the input var is empty, it will say Yes.
    For people who are wondering whether "magic_quotes_gpc" has any affect on "filter_input" operation, here is an extract from a PHP source file:
    * As the input filter acts on input data before the magic quotes function mangles data, all access through the filter() function will not have any quotes or slashes added - it will be the pure data as send by the browser.
    So when using this function, there is no need to strip the slashes when "magic_quotes_gpc" is enabled.

    下篇:filter_id()