• 17-09-2021, 18:51:23
    #1
    İsmi $post_sharing_buttons olan bir değişken var, if ile içi dolu olduğunda bir kod çalışacak, boş olduğunda ise çalışmayacak. Bunun için if (!empty($post_sharing_buttons)) {} şeklinde kodu yazdım yani başına ! koyarak ters çevirdim. Nerede yanlış yaptım bilmiyorum ama hiç bir şekilde kod ekrana yazılmadı. var_dump ile baktığımda array(1) { [0]=> string(0) "" } şeklinde görünüyor, neyi atladım acaba? Kodun tamamı aşağıdaki gibi:

    if ( !empty( $post_sharing_buttons ) ) {
        echo "testttttttttttt";
    }
    Boş olmadığı her durumda çalışması gerekiyor diye biliyorum?
  • 17-09-2021, 18:54:21
    #2
    if($post_sharing_buttons == "" || $post_sharing_buttons == null){
    //Boş ise..
    }else{
    //Boş değil ise..
    }
    Bu şekilde de bir dener misiniz?
  • 17-09-2021, 18:54:48
    #3
    Merhaba,

    Eğer değişken 0 olarak dönüyorsa fonksiyon bunu boş olarak algılar.
    !empty yerine isset kullanabilirsiniz fakat 0 döndüğü için yine boş olarak algılayacaktır.

    0 değilse şeklinde ek bir kontrol ekleyebilirsiniz.

    İyi çalışmalar.
  • 17-09-2021, 19:17:17
    #4
    HSNv2 adlı üyeden alıntı: mesajı görüntüle
    if($post_sharing_buttons == "" || $post_sharing_buttons == null){
    //Boş ise..
    }else{
    //Boş değil ise..
    }
    Bu şekilde de bir dener misiniz?
    Her zaman else'nin içi dönüyor hocam. Sanırım değişken içerisindeki array(1) kaldığı için öyle oluyor. Herhangi bir şey yokken array(1) { [0]=> string(0) "" } dönüyor, bir şey seçilince de array(1) { [0]=> string(8) "facebook" } şeklinde oluyor ve 2.'den sonra 1-2-3-4 diye artmaya başlıyor. Bunu değiştiremem ama string içi 0, onun için 0'dan büyükse şeklinde yapmak mümkün olur mu acaba?

    Softyr adlı üyeden alıntı: mesajı görüntüle
    Merhaba,

    Eğer değişken 0 olarak dönüyorsa fonksiyon bunu boş olarak algılar.
    !empty yerine isset kullanabilirsiniz fakat 0 döndüğü için yine boş olarak algılayacaktır.

    0 değilse şeklinde ek bir kontrol ekleyebilirsiniz.

    İyi çalışmalar.
    Olmadığı hocam, benim değişken içerisine gelen değerde sorun var gibi, şöyle:

    Hiç bir şey seçili değilken gelen:
    array(1) { [0]=> string(0) "" }
    Tek bir şey seçili iken gelen:
    array(1) { [0]=> string(8) "facebook" }
    Birden fazla seçili iken:
    array(3) { [0]=> string(8) "facebook" [1]=> string(9) "pinterest" [2]=> string(8) "linkedin" }
    Yani hep array(1) var, 1'den fazla seçince artıyor.
  • 17-09-2021, 19:55:41
    #5
    $post_sharing_buttons değişkenini ilk tanımlar iken
    $post_sharing_buttons = array(); olarak tanımlayın
    çünkü verdiğiniz örnekte $post_sharing_buttons değişkeni empty değil
    array key i var value nun olup olmaması empty i bağlamaz
  • 17-09-2021, 20:07:58
    #6
    trgino adlı üyeden alıntı: mesajı görüntüle
    $post_sharing_buttons değişkenini ilk tanımlar iken
    $post_sharing_buttons = array(); olarak tanımlayın
    çünkü verdiğiniz örnekte $post_sharing_buttons değişkeni empty değil
    array key i var value nun olup olmaması empty i bağlamaz
    Hımmm, tamamdır şimdi anladım mantığı. Uyguladım oldu. Dediğinizi yapınca değişken array(1) { [0]=> string(0) "" } yerine sadece string(0) "" şeklinde dönünce empty işe yarar hale geldi.