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?

thomasshelby
1351 gün önce

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