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

    (PHP 5 >= 5.2.0, PHP 7)

    返回所支持的过滤器列表

    说明

    filter_list(void): array

    返回值

    返回一个所支持的过滤器的名称的列表,如果没有这样子的过滤器的话则返回空数组。这个数组的索引不是过滤器id,你可以通过filter_id()去根据名称获取它们。

    范例

    一个filter_list()的例子

    <?php
    print_r(filter_list());
    ?>
    

    以上例程的输出类似于:

    Array
    (
        [0] => int
        [1] => boolean
        [2] => float
        [3] => validate_regexp
        [4] => validate_url
        [5] => validate_email
        [6] => validate_ip
        [7] => string
        [8] => stripped
        [9] => encoded
        [10] => special_chars
        [11] => unsafe_raw
        [12] => email
        [13] => url
        [14] => number_int
        [15] => number_float
        [16] => magic_quotes
        [17] => callback
    )
    
    Get filter_list() with filter_id() as key.
    <?php
    print_r(array_flip(array_map('filter_id', array_combine(filter_list(), filter_list()))));
    ?>
    Array
    (
      [257] => int
      [258] => boolean
      [259] => float
      [272] => validate_regexp
      [277] => validate_domain
      [273] => validate_url
      [274] => validate_email
      [275] => validate_ip
      [276] => validate_mac
      [513] => stripped
      [514] => encoded
      [515] => special_chars
      [522] => full_special_chars
      [516] => unsafe_raw
      [517] => email
      [518] => url
      [519] => number_int
      [520] => number_float
      [521] => magic_quotes
      [1024] => callback
    )
    <?php
    echo "<pre>";
    print_r(filter_list());
    echo "</pre>";
    foreach (filter_list() as $key => $value)
    {
    echo "<br>".$key."=".$value.'='.filter_id($value);
    }
    ?>
    0=int=257
    1=boolean=258
    2=float=259
    3=validate_regexp=272
    4=validate_url=273
    5=validate_email=274
    6=validate_ip=275
    7=string=513
    8=stripped=513
    9=encoded=514
    10=special_chars=515
    11=unsafe_raw=516
    12=email=517
    13=url=518
    14=number_int=519
    15=number_float=520
    16=magic_quotes=521
    17=callback=1024
    Output a table of Filter IDs as Integers with corresponding Constant IDs:
    <?php
    echo '<table>';
    echo '<tr>';
    echo '<th>Filter Name</th>';
    echo '<th>Filter Int ID</th>';
    echo '<th>Filter Const ID</th>';
    echo '</tr>';
    foreach (filter_list() as $id =>$filter) {
      $const = 'FILTER_';
      switch($filter) {
        case 'int':
        case 'boolean':
        case 'float':
          $const .= 'VALIDATE_' . $filter;
        break;
        case 'string':
        case 'stripped':
        case 'encoded':
        case 'special_chars':
        case 'full_special_chars':
        case 'unsafe_raw':
        case 'email':
        case 'url':
        case 'number_int':
        case 'number_float':
        case 'magic_quotes':
          $const .= 'SANITIZE_' . $filter;
        break;
      }
      if (substr($filter,0,8)=='validate' || $filter=='callback')
        $const .= $filter;
      echo '<tr><td>' . $filter . '</td><td align="center">' . filter_id($filter) . '</td><td>' . strtoupper($const) . '</td></tr>';
    }
    echo '</table>';
    ?>