PHP ternary operatörde böyle bi hata alıyorum?

Bakın orada hatayı vermiş ama altta kodu çalıştırıyor bu nasıl hata vermek anlamadım sjsjsj

Merhabalar.
Ternary operatörünü basit ve tek satırlık bir if gibi düşünebilirsiniz:

<?php

echo $a == 5 ? "A beş'e eşit" : "A beş'e eşit değil";

?>

Burada $a değerinin 5 değerine eşit olup olmadığı sorgulanıyor ve buna göre bir çıktı veriliyor.
Şöyle de gösterilebilir:

<?php
$a == 5 ? (true ise burası çalışacak) : (false ise burası çalışacak);
?>

EDIT:
Uyarıyı aşağıda bahsedildiği gibi a değişkeni tanımlanmadığı için vermiş ama bu programın çalışmasını engellemeyecek türden bir uyarı.

Hata vermemiş uyarmış. Bir farkındalık (notice) mesajı vermiş.

Uyarıda demiş ki a’yı tanımlamamışsın.

Yani bir değer atamadan kullanıyorsun doğal olarak da bir eşitlik söz konusu olmuyor.

Her dilin veri kontrolü farklıdır ama çoğunlukla ilk atama yapmadan kullanırsan uyarı verir.

Ama kullanmana da engel olmaz.

a’ya bir ilk değer ata sonra karşılaştırma işlemini yap uyarıyı almazsın.

EDIT 1:

Notice, warning, error farkı için:

Php hata mesajlarının önemi ve anlamı | merdincz

Notice: Yazdığınız kodda bir aksilik olduğunu ama bu aksiliğin sistemi etkileyecek bir durum olmadığını belirtir.
Warning: Yazdığınız kodda bir hata olduğunu ve şu anda bir sıkıntı yaratmıyor olsa da ileride bir problem yaratabileceğini belirtir.
Error: Bu ise kodun zaten çalışmasına izin vermez ve hatalı olarak belirtir.
1 Beğeni