PHP.mk документација

filter_var_array

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.filter-var-array.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.filter-var-array.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
filter_var_array

Референца за `function.filter-var-array.php` со подобрена типографија и навигација.

function.filter-var-array.php

filter_var_array

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

filter_var_arrayЗема повеќе променливи и опционално ги филтрира

= NULL

filter_var_array(array $array, array|int $options = FILTER_DEFAULT, bool $add_empty = true): array|false|null

Филтрирај асоцијативно array на вредности користејќи FILTER_VALIDATE_* филтри за валидација, FILTER_SANITIZE_* филтри за чистење, или сопствени филтри.

Параметри

array
Асоцијативен array што ги содржи податоците за филтрирање.
options
Асоцијативна array на опции, или филтерот што треба да се примени на секој запис, што може да биде или филтер за валидација со користење на една од FILTER_VALIDATE_* константите, или филтер за чистење со користење на една од FILTER_SANITIZE_* constants. Низата со опции е асоцијативна низа каде клучот одговара на клуч во податоците array и поврзаната вредност е или филтерот што треба да се примени на овој запис, или асоцијативна низа што опишува како и кој филтер треба да се примени на овој запис. Асоцијативната низа што опишува како се применува филтерот мора да ја содржи 'filter' клучот чија поврзана вредност е филтерот што треба да се примени, што може да биде една од FILTER_VALIDATE_*, FILTER_SANITIZE_*, FILTER_UNSAFE_RAW, или FILTER_CALLBACK константите. Може опционално да ја содржи 'flags' клучот што специфицира и означува што се применува на филтерот, и 'options' клучот што специфицира какви било опции што се применуваат на филтерот.
add_empty

Додај недостасувачки клучеви како null во вратената вредност.

Вратени вредности

Низа што ги содржи вредностите на бараните променливи при успех, или false при неуспех. Вредност на низа ќе биде false ако филтерот не успее, или null ако променливата не е поставена.

Примери

ако е овозможен колекторот за отпадоци, filter_var_array() example

<?php

$data
= [
'product_id' => 'libgd<script>',
'component' => '10',
'versions' => '2.0.33',
'testscalar' => ['2', '23', '10', '12'],
'testarray' => '2',
];

$filters = [
'product_id' => FILTER_SANITIZE_ENCODED,
'component' => [
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_FORCE_ARRAY,
'options' => [
'min_range' => 1,
'max_range' => 10,
],
],
'versions' => [
'filter' => FILTER_SANITIZE_ENCODED
],
'testscalar' => [
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_SCALAR,
],
'testarray' => [
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_FORCE_ARRAY,
],
'doesnotexist' => FILTER_VALIDATE_INT,
];

var_dump(filter_var_array($data, $filters));

?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

array(6) {
  ["product_id"]=>
  string(17) "libgd%3Cscript%3E"
  ["component"]=>
  array(1) {
    [0]=>
    int(10)
  }
  ["versions"]=>
  string(6) "2.0.33"
  ["testscalar"]=>
  bool(false)
  ["testarray"]=>
  array(1) {
    [0]=>
    int(2)
  }
  ["doesnotexist"]=>
  NULL
}

Види Исто така

  • filter_input_array() - Добива надворешни променливи и опционално ги филтрира
  • filter_var() - Провери за нумерички карактер(и)
  • filter_input() - Добива специфична надворешна променлива по име и опционално ја филтрира
  • Филтри за валидација FILTER_VALIDATE_*
  • Филтри за чистење FILTER_SANITIZE_*

Белешки од корисници 3 белешки

eguvenc на gmail точка com
пред 16 години
<?php
//an example of simply sanitize an array..

$data = array(
                '<b>bold</b>',
                '<script>javascript</script>',
                'P*}i@893746%%%p*.i.*}}|.dw<?php echo "echo works!!";?>');

$myinputs = filter_var_array($data,FILTER_SANITIZE_STRING);

var_dump($myinputs);

//OUTPUT:
//formarray(3) { [0]=> string(4) "bold" [1]=> string(10) "javascript" [2]=> string(26) "P*}i@893746%%%p*.i.*}}|.dw" }
?>
Анонимен
3 години пред
To apply the same filter to many params/keys, use array_fill_keys().

<?php
$data = array(
    'product_id'    => 'libgd<script>',
    'component'     => '    10    ',
    'versions'      => '2.0.33',
    'testscalar'    => array('2', '23', '10', '12'),
    'testarray'     => '2',
);
$keys = array(
    'product_id',
    'component',
    'versions',
    'doesnotexist',
    'testscalar',
    'testarray'
);
$options = array(
    'filter' => FILTER_CALLBACK,
    'options' => function ($value) {
        return trim(strip_tags($value));
    },
);
$args = array_fill_keys($keys, $options);
/* Result
$args = array(
    'product_id' => array(
        'filter' => FILTER_CALLBACK,
        'options' => function ($value) {
            return trim(strip_tags($value));
        },
    ),
    'component' => array(
        'filter' => FILTER_CALLBACK,
        'options' => function ($value) {
            return trim(strip_tags($value));
        },
    ),
    'versions' => array(
        'filter' => FILTER_CALLBACK,
        'options' => function ($value) {
            return trim(strip_tags($value));
        },
    ),
    'doesnotexist' => array(
        'filter' => FILTER_CALLBACK,
        'options' => function ($value) {
            return trim(strip_tags($value));
        },
    ),
    'testscalar' => array(
        'filter' => FILTER_CALLBACK,
        'options' => function ($value) {
            return trim(strip_tags($value));
        },
    ),
    'testarray' => array(
        'filter' => FILTER_CALLBACK,
        'options' => function ($value) {
            return trim(strip_tags($value));
        },
    ),
);
*/

$myinputs = filter_var_array($data, $args);
var_dump($myinputs);

Output:

array(6) {
  'product_id' =>
  string(5) "libgd"
  'component' =>
  string(2) "10"
  'versions' =>
  string(6) "2.0.33"
  'doesnotexist' =>
  NULL
  'testscalar' =>
  array(4) {
    [0] =>
    string(1) "2"
    [1] =>
    string(2) "23"
    [2] =>
    string(2) "10"
    [3] =>
    string(2) "12"
  }
  'testarray' =>
  string(1) "2"
}
Тим Хант
пред 6 години
$emails = [
    'a' => '[email protected]',
    'b' => '<email2>@domain.com',
];

$result = filter_var_array($emails, FILTER_SANITIZE_EMAIL);
print_r($result);

// the result will be...
// array('a' => '[email protected]', 'b' => '[email protected]')
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.