PHP extract() FONKSİYONU

Bu fonksiyon geçerli simge tabloya bir diziden değişkenleri almak için kullanılır. Bu fonksiyon bir ilişkisel diziden dizi alır ve Dizinin anahtarları değişken değerler olarak değişken isimleri ve değerleri gibi davranır. Her anahtar ve değer çifti için extract fonksiyonu ve ön-ek parametrelerini tabi olan simge tablosuna bir değişken yaratacaktır.

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.

Sözdizimi:

extract( dizi ,çıkarım_türü ,prefix )

Dizi : Gerekli. Kullanmak için diziyi belirtir.

çıkarım_türü : 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 ön-ek konur.
  • EXTR_PREFIX_INVALID : Sadece geçersiz veya sayısal indisli değişkerlerin başına ön-ek 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 ön-eksiz sürümü bulunan değişkenlerin ön-ekli 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 bitsel OR operatörünü kullanmak suretiyle başka bir seçenekle birlikte kullanabilirsiniz.

Çıkarım_türü belirtilmezse prefix belirtilmiş sayılır.

prefix : Bu değiştirge sadece çıkarım_türü olarak EXTR_PREFIX_SAME, EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID veya EXTR_PREFIX_IF_EXISTS belirtilmişse anlamlıdır. Ön-ekli bir sonuç geçerli bir değişken ismi oluşturmuyorsa simge tablosuna dahil edilmez. Ön-ekler dizi anahtarlarından özdevinimli olarak bir altçizgi karakteri ile ayrılırlar.

Dönen Değerler : Simge tablosuna başarıyla eklenen değişkenlerin sayısı.

Örnek:

<?php

$meyveler = array(

                  "meyve1" => "Muz",
                   
                  "meyve2" => "Kiraz",
                   
                  "meyve3" => "Elma",

                  );

                   
extract($meyveler);

echo $meyve1;

echo "
"; echo $meyve3; ?>

ÇIKTI:

Muz

Elma

Yukarıda ki örnekte görüldüğü gibi dizinin anahtarlarını değişkene dönüştürerek ekrana yazdırdık. Normalde yazdırmak için echo $meyveler["meyve1"]; bu kod ifadesini kullanırız, Parantezlerle uğraşarak kod yazmadan direk anahtarı değişkene çevirerek ekrana yazdırdık.

extract fonksiyonu ile atadığımız değişkenlere bir ön-ek getirelim ki daha önceden aynı isimde bir değişken de atadıysak bize sorun çıkarmasın:

Örnek:/p>

<?php

$size = "büyük";

$var_array = array("color" => "mavi",

                   "size"  => "orta",
				   
                   "shape" => "küre");
				   
extract($var_array, EXTR_PREFIX_SAME, "boyut");

echo "$color, $size, $shape, $boyut_size";

?>

ÇIKTI:

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

Veritabanımızda gelen dizi verilerini değişken yapalım.

Örnek:/p>

<?php

$oku = mysql_query("SELECT * FROM tablo"); 

// tablo'muzdan bütün sütunları çekiyoruz

while($row = mysql_fetch_array($oku)) { 

// Ne kadar $row = mysql_fetch_array($oku) varsa

	extract($row); //Her $row isimli arraydeki degerleri değişken yapıyoruz.
	
	echo $uye_adi."
"; //uye_adi adlı sütundaki bütün değerleri döndürüyoruz. } ?>

Adınız

Eposta

Mesaj

1342

Güvenlik No

REKLAM
KATEGORİ
POPÜLER MAKALE