(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
$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.
diziseçeneklerFILTER_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.
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.
Ö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
}
FILTER_VALIDATE_*
FILTER_SANITIZE_*