PHP Null Coalescing

PHP Null Coalescing

İçerik Listesi

5
(4547)

PHP Null Coalescing bu sistemin 7 sürümünde tanıtılmış olup, koşullu olarak veri atamaya yardım etmektedir. Şayet ilk Operand bulunuyorsa ve null değilse, ilk operandı döndürmektedir. Aksi takdirde ise ikinci operand devreye girmektedir. Bu bir örnek ile şu şekilde açıklanabilir.

// İlk örnek:
echo $name = $_POST['name'] ?? 'nobody';
// Çıktı: nobody
// İkinci örnek
if (isset($_POST['name'])) {
echo $name = $_POST['name'];
} else {
echo $name = 'nobody';
}
// Çıktı: nobody
// Üçüncü örnek
echo $name = isset($_POST['name']) ? $_POST['name'] : 'nobody';
// Çıktı: nobody

PHP Null Coalescing bu örnek kullanılarak döndürüldüğü zaman İlk Örnek name adlı bir post verisi bulunmadığı için $name değişkenine nobody değeri atamış ve yazdırmıştır. İkinci ve üçüncü örnek de bu operatör ile kısaltılmış şeklidir. Bu bakımdan aynı sonucu döndürerek aynı anlamı taşımaktadır.

Null Coalescing Operator Ne İşe Yarar?

Null Coalescing operator  verilmiş olan değişkenin null olup olmadığını kontrol etmektedir. Özelleştirilmiş değer çiftinden null olmayan değişkeni çevirmekte olup esas olarak nesne işlevinin varsayılan optimize edilmiş bir değer döndürmek yerine NULL değer döndürmesini önlemek için faydalanılmaktadır.

Ankara Kurumsal Web Sitesi Tasarımı
Ankara Kurumsal Web Sitesi Tasarımı

Yürütme sırasında e-bildirim çıkarmadığı için istisna ve derleyici hatasını önlemede yararlanılmaktadır. Yürütme sırası null bulunmayan sağ taraftaki işlenen dönüş değeri olacaktır.

PHP Null Coalescing Nasıl Kullanılır?

PHP Null Coalescing kullanımı faklı şekillerde yapılabilmektedir. Örneğin ad ve soyad yazdırmak isteniyorsa normal bir kod şu şekilde işlemektedir.

// Örnek

$first_name = 'Ali';

$last_name = null;

echo ($first_name ?? 'İsim Bulunmuyor') . ' ' . ($last_name ?? 'Soyisim Bulunmuyor');?>

// Çıktı: Ali Soyisim Bulunmuyor

Bu çalıştırıldığı zaman $first_name değişkeni verisi bulunması sebebiyle birinci şartta değişkeni geriye çevirmektedir. Ne var ki $last_name değişkeni null olması sebebiyle ikinci şartta ikinci operantı geriye döndürerek Soyisim Bulunmuyor cümlesini geçirmiştir.

Bunun yanı sıra PHP Null Coalescing kullanımı Chaining ile de yapılabilmektedir. Chaining Null Coalescing Operator genel anlamda şu şekilde gerçekleştirilebilmektedir.

// Örneklem

echo $name = $_GET['name'] ?? $_POST['name'] ?? 'nobody';

// Çıktı: nobody

// İkinci Örneklem

if (isset($_GET['name'])) {

echo $name = $_GET['name'];

} elseif (isset($_POST['name'])) {

echo $name = $_POST['name'];

} else {

echo $name = 'nobody';

}

// Çıktı: nobody

Null Coalescing kullanımı bu şekilde gerçekleştirildiği zaman PHP, $_get[‘name’] tanımlı ise $name değişkenine $_GET[‘name’] verisini atamakta ve yazdırmaktadır. Şayet tanımı bulunmuyorsa $_POST’name] değişkenini kontrol etmektedir.

Ankara Kurumsal Web Sitesi Tasarımı
Ankara Kurumsal Web Sitesi Tasarımı

$POST’name’] tanımlı ise atamakta ve yazdırmakta, şayet değilse ‘nobody’ verisini atayarak ekrana getirmektedir.  Örnekler aynı sonucu çevirmekte ve aynı anlamı ifade etmektedir. İkinci örneklem Örneklem’in if-elseif-else şartlı ifadesi ile kodlanan uzun halidir.

Ternary Operator ile Null Coalescing Operator Arasındaki Farklar

Ternary ve null coalescing operator arasında bir takım farklar bulunmaktadır. Genel anlamda söz konusu farklar şöyledir.

  • Ternary Operator değerin doğru olup olmadığını kontrol etmektedir. Lâkin null ifade değerin null olup olmadığını kontrol etmektedir.
  • Üçlü operator sol ilişkisel olup null sağ ilişkisel yapıdadır.
  • Üçlü operator ?: ile gösterilirken null ?? ile ifade edilmektedir.
  • Ternary operatör sol işlenen boşsa e-bildirim yollamaktadır. Null ise operatöre sol işlenen bulunmuyorsa e-bildirim yayınlamamaktadır.
  • Null operator karşılaştırmalı şekilde daha iyi okunabilirlik sağlamaktadır.

PHP null coalescing aynı zamanda sadece NULL geçmesine olanak tanıyan GATE gibidir. Ne var ki ?: aynı zamanda NULL dahil yanlış olan her şeyin geçmesine olanak tanıyan GATE işlevi görmektedir.

Diğer Yazılarımız

Yazımızı Değerlendirmek İster misiniz?

İçerik Puanı: 5 / 5. - Toplam Oy Sayısı: 4547

Bu gönderiye ilk oy veren siz olun.

Bu yazı sizin için yararlı olmadığı için üzgünüz!

Bu gönderiyi geliştirelim!

Bize bu yazıyı nasıl geliştirebileceğimizi söyleyin?

Firma Konum Bilgimiz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Facebook
Twitter
Pinterest
WhatsApp
Web Tasarım ve Digital Medya Ajansı

Web Tasarım, SEO Çalışması ve İnternet Reklamcılığı konusunda sizlere profesyonel destek sağlıyoruz.

Son Eklenenler

AKLINIZDA PROJE Mİ VAR? HEMEN TEKLİF ALIN

Formu doldurun sizi hemen arayalım.