Php'de Compact Ve Extract Fonksiyonları

Php'de oluşturduğumuz değişkenleri bir dizi haline getirmeye ihtiyaç duyuyoruz çoğu zaman. Değişkenleri compact() fonksiyonu ile kolay bir şekilde dizi haline getirebiliyoruz. Bu dizinin içinde bulunan index'leri değişken olarak kullanmamız gereken durumlarda ise extract() fonksiyonunu kullanıyoruz. Lafı fazla uzatmadan örnekler ile konuyu anlatmaya çalışayım. İlk olarak compact fonksiyonunun kullanımını ve bir örneği inceleyelim. Ardından compact fonksiyonun tam tersini yapan extract fonksiyonu ile ilgili bir örnek inceleyelim.

COMPACT KULLANIMI :

// ARALARINA VİRGÜL KOYARAK DEĞİŞKEN İSİMLERİNİ YAZIYORUZ.
$dizi = compact('degisken_adi_1','degisken_adi_2','degisken_adi_3');

COMPACT ÖRNEK :

// DEĞİŞKENLERİ TANIMLIYORUZ.
$first_name = 'İbrahim';
$last_name = 'Hızlıoğlu';
$mail = 'ibrahim.hizlioglu{{at}}gmail.com';

// DEĞİŞKENLERİ COMPACT FONKSİYONUNA GÖNDERİYORUZ.
$user = compact('first_name','last_name','mail');

// COMPACT FONKSİYONUNDAN DÖNEN DEĞERİ EKRANA YAZDIRIYORUZ.
print_r($user);

Bu kodları çalıştırdığımızda aşağıdaki gibi bir çıktı alıyoruz.

/*
Array
(
    [first_name] => İbrahim
    [last_name] => Hızlıoğlu
    [mail] => ibrahim.hizlioglu{{at}}gmail.com
)
*/

Gördüğünüz gibi compact fonksiyona sadece değişken isimlerini yollayarak bir dizi elde ettik.

EXTRACT KULLANIMI :

extract($dizi,$tip,$taki);

EXTRACT ÖRNEK :

// DİZİ TANIMLIYORUZ.
$user = Array(
'first_name' => 'İbrahim',
'last_name' => 'Hızlıoğlu',
'mail' => 'ibrahim.hizlioglu{{at}}gmail.com'
);

// DİZİNİN İÇİNDEKİ İNDEX ADLARINI DEĞİŞKEN OLARAK KULLANMAK İÇİN EXTRACT EDİYORUZ.
extract($user);

/*
 * $first_name İSMİNDE BİR DEĞİŞKEN TANIMLAMAMIŞTIK AMA KULLANABİLİYORUZ.
 * EXTRACT FONKSİYONUNU KULLANMASAYDIK HATA ALACAKTIK.
 */
echo $first_name;

NOT : 2. parametre olarak EXTR_OVERWRITE, EXTR_SKIP vb. değerler gönderip, daha önce tanımlanmış değişkenin üzerine yazılıp, yazılmayacağını tanımlayabiliyoruz. 3. parametre göndererek değişkenlerin başında ön ek olmasını sağlayabiliriz. ($user_first_name, $user_last_name vb.)

Okunma Sayısı : 178

Yorumlar


Hiç Yorum Yapılmamış. İlk Yorumu Siz Yapın.

Twitter Günlüğü