• 24-12-2020, 05:57:40
    #1
    Selamlar,

    Soyle bir array oldugunu dusunun

    yazilar
    ---baslik
    ---resim
    ---yazar
    ------yazarIsmi
    ------yazarResmi

    Boyle 15 tane yazinin listelendigi bir array var mesela, bu array icinde bir yazarin birden fazla yazisi oldugunu dusunelim, ben bu array den yazarIsmi ni kontrol ederek bir yazarin sadece bir yazisi kalacak sekilde arrayi islemek istiyorum.
    Bunu nasil yaparim ?
  • 24-12-2020, 06:35:14
    #2
    $yazilar = [...];
    $birebir = birbir($yazilar);
    
    
    function birbir($yazilar){
        $yeni_liste = array();
        foreach($yazilar as $yazi){
               if(   !  icinde_varmi($yeni_liste,$yazi['yazar']['yazarIsmi'])  ){
                      $yeni_liste[] = $yazi;
                }
          }
         return $yeni_liste;
    }
    
    function icinde_varmi($liste,$yazaradi){
    foreach($liste as $yazi){
    if($yazi['yazar']['yazarIsmi'] == $yazaradi) return true;
    }
    return false;
    }
  • 24-12-2020, 10:07:47
    #3
    darness adlı üyeden alıntı: mesajı görüntüle
    $yazilar = [...];
    $birebir = birbir($yazilar);
    
    
    function birbir($yazilar){
        $yeni_liste = array();
        foreach($yazilar as $yazi){
               if(   !  icinde_varmi($yeni_liste,$yazi['yazar']['yazarIsmi'])  ){
                      $yeni_liste[] = $yazi;
                }
          }
         return $yeni_liste;
    }
    
    function icinde_varmi($liste,$yazaradi){
    foreach($liste as $yazi){
    if($yazi['yazar']['yazarIsmi'] == $yazaradi) return true;
    }
    return false;
    }
    cok tesekkur ederim, oldu