filter_var_array

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

filter_var_arrayÇok sayıda değişken alır ve isteğe bağlı olarak süzer

Açıklama

filter_var_array(array $dizi, array|int $seçenekler = FILTER_DEFAULT, bool $boşları_da_ekle = true): array|false|null

Bir ilişkisel array içerisindeki değerleri FILTER_VALIDATE_* doğrulama süzgeçleri, FILTER_SANITIZE_* temizleme süzgeçleri veya özel süzgeçler kullanarak süzer.

Bağımsız Değişkenler

dizi
Süzülecek veriyi içeren ilişkisel array.
seçenekler
Bir ilişkisel array seçenekler veya her elemana uygulanacak süzgeç. Süzgeç, FILTER_VALIDATE_* sabitlerinden biriyle bir doğrulama süzgeci ya da FILTER_SANITIZE_* sabitlerinden biriyle bir temizleme süzgeci olabilir. Seçenek dizisi, anahtarın veri dizi dizisindeki bir anahtara karşılık geldiği ilişkisel bir dizidir; ilgili değer ise bu eleman için uygulanacak süzgeç ya da bu elemana hangi süzgecin nasıl uygulanacağını tanımlayan bir ilişkisel dizidir. Bir süzgecin nasıl uygulanacağını tanımlayan ilişkisel dizi, ilgili değeri uygulanacak süzgeç olan 'filter' anahtarını içermek zorundadır. Süzgeç, FILTER_VALIDATE_*, FILTER_SANITIZE_*, FILTER_UNSAFE_RAW veya FILTER_CALLBACK sabitlerinden biri olabilir. Süzgeçle birlikte uygulanacak bayrakları belirten 'flags' anahtarı ve süzgece uygulanacak seçenekleri belirten 'options' anahtarı isteğe bağlı olarak içerebilir.
boşları_da_ekle

Eksik anahtarları döndürülen değere null olarak ekler.

Dönen Değerler

Başarı durumunda istenen değişkenlerin değerlerini içeren bir dizi, başarısızlık durumunda false döndürür. Süzgeç başarısız olursa bir dizi değeri false, değişken atanmamışsa null olur.

Örnekler

Örnek 1 filter_var_array() örneği

<?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));

?>

Yukarıdaki örneğin çıktısı:

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
}

Ayrıca Bakınız