v2.5.2
Giriş yap

PHP Versiyon 7,3 ve 7,4 Geçişinde Bool : False Sorunu

Anonim
588 defa görüntülendi ve 1 kişi tarafından değerlendirildi

hatamız : trying to access array offset on value of type bool

php sürüm : 7.4


$baslik = "a";
$dede = "b";


$res = $baslik == $dede ? $baslik : null ;

şimdi $res= null; dönmesi gerekmiyormu ?
veya 
$dede = "a"; ise $res = "a"; dönmesi gerekmiyormu ?

//bu şekilde oluyor ama niye if elseye ihtiyaç duyalim

if(isset($baslik) == $dede){
    $res = $baslik;
}else{
    $res = $dede;
}
// sql sorgusunda gelen değer false düştüğü için hata veriyor anlıyorum fakat
// 7,3 de true düşen 7,4 de niye false düşüyor.

    $s = $db->prepare("SELECT * FROM tablo WHERE id=?");
    $s->execute([$_GET["id"]]);
    $ss = $s->fetch(2);
    
        echo $ss["baslik"];
        
//7,3 de true 7,4 de false düşüyor $ss neden?

//birde söyle geçebiliyoruz

isset($baslik) ?? null;


7,3 versiyonda hiç bir sorun olmuyorken bu lanet 7,4 de neden böyle yaparki :)

burda asıl merak ettiğim 2 versiyon arasında nasıl bir fark varki
birinde true diğerinde false?

Cevap yaz
Cevaplar (2)
f25dfd8754
1350 gün önce

Bi çok sürümde TRUE FALSE değerlendirmesi ve bazı şeyler değişti.
Bu sürümlere 7.4 de dahil.

thomasshelby
1351 gün önce

Koşulunda parantez kullanarak yorumlama farkını ortadan kaldırabilirsin.