extract

(PHP 4, PHP 5, PHP 7, PHP 8)

extractBir dizideki değişkenleri simge tablosuna dahil eder

Açıklama

extract(array&$dizi, int$seçenekler = EXTR_OVERWRITE, string$önek = ""): int

Bir dizideki değişkenleri simge tablosuna dahil eder.

Her anahtarın geçerli bir değişken adı olup olmadığına bakmaktan başka bu değişkenlerin simge tablosundakilerle çakışıp çakışmadığına da bakar.

Uyarı

Kullanıcı girdisi (örn, $_GET, $_FILES) gibi güvensiz veriler üzerinde extract() işlevini kullanmayın.

Bağımsız Değişkenler

dizi

Bir ilişkisel dizi. Bu işlev anahtarları değişken ismi, değerleri de değişkenin değeri olarak değerlendirir. Her anahtar/değer çifti için simge tablosunda seçenekler ve önek'e uygun bir değişken oluşturulur.

EXTR_PREFIX_ALL veya EXTR_PREFIX_INVALID kullanmadıkça bir sayısal indisli dizi sonuç üretmeyeceğinden bir ilişkisel dizi kullanmanız gerekir.

seçenekler

Geçersiz veya sayısal anahtarların ve çakışmaların ele alınma yöntemini belirtmek için kullanılır. Aşağıdaki değerlerden biri olmalıdır:

EXTR_OVERWRITE
Bir çakışma varsa mevcut değişkenin üzerine yazılır.
EXTR_SKIP
Bir çakışma varsa mevcut değişkenin üzerine yazılmaz.
EXTR_PREFIX_SAME
Bir çakışma varsa değişken isminin başına önek konur.
EXTR_PREFIX_ALL
Tüm değişken isimlerinin başına önek konur.
EXTR_PREFIX_INVALID
Sadece geçersiz veya sayısal indisli değişkerlerin başına önek konur.
EXTR_IF_EXISTS
Sadece simge tablosunda mevcut değişkenlerin üzerine yazılır, bunun dışında bir şey yapılmaz. Geçerli değişkenleri bir liste halinde tanımladıktan sonra bunlardan sadece örneğin $_REQUEST dışında tanımlanmış olanlarını çıkarmak için yararlıdır.
EXTR_PREFIX_IF_EXISTS
Sadece simge tablosunda öneksiz sürümü bulunan değişkenlerin önekli sürümleri oluşturulur.
EXTR_REFS
Değişkenler gönderimli olarak çıkarılır. Dahil edilen değişkenler dizi değerlerine gönderimli iseler bu anlamlıdır. Bu seçeneği tek başına ya da VEYAlamak suretiyle başka bir seçenekle birlikte kullanabilirsiniz.

seçenekler belirtilmezse EXTR_OVERWRITE belirtilmiş sayılır.

önek

Bu bağımsız değişken sadece seçenekler olarak EXTR_PREFIX_SAME, EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID veya EXTR_PREFIX_IF_EXISTS belirtilmişse anlamlıdır. Önekli bir sonuç geçerli bir değişken ismi oluşturmuyorsa simge tablosuna dahil edilmez. Önekler dizi anahtarlarından otomatik olarak bir altçizgi karakteri ile ayrılırlar.

Dönen Değerler

Simge tablosuna başarıyla eklenen değişkenlerin sayısı.

Örnekler

Örnek 1 - extract() örneği

extract() işlevinin olası kullanımlarınadn biri de wddx_deserialize() tarafından döndürülen ilişkisel dizi içeriğinin simge tablosuna dahil edilmesidir.

<?php



$boyut = "büyük";
$dizi = array("renk" => "mavi",
"boyut" => "orta",
"şekil" => "küre");
extract($dizi, EXTR_PREFIX_SAME, "wddx");

echo
"$renk, $boyut, $şekil, $wddx_boyut\n";

?>

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

mavi, büyük, küre, orta

$wddx_boyut değişkeninin oluşturulmasını sağlayan EXTR_PREFIX_SAME seçeneğini belirttiğimizden $boyut değişkeninin üzerine yazılmaz. Eğer seçenek olarak EXTR_SKIP belirtmiş olsaydık $wddx_boyut değişkeni oluşturulmazdı. EXTR_OVERWRITE belirtseydik, $size "orta" değerine sahip olacaktı. Eğer EXTR_PREFIX_ALL belirtmiş olsaydık $wddx_renk, $wddx_boyut ve $wddx_şekil değişkenlerini oluşturmuş olurduk.

Notlar

Uyarı

extract() işlevini kullanıcı girdisi ($_GET, $_FILES, vb.) gibi güvenilmez veriler üzerinde kullanmayın. Aksi takdirde, EXTR_SKIP gibi üste yazmayan seçenekler değerlerini kullanmaya ve php.ini dosyasındaki variables_order yönergesinde tanımlı sırada çıkartmaya çalışın.

Ayrıca Bakınız

  • compact() - Değişkenlerle değerlerinden bir dizi oluşturur
  • list() - Değişkenlere bir dizi gibi atama yapar
To Top