简体   繁体   中英

How can i return an array in php function

I need a return array in function. When i was use that returning this Array ( ):

         function menuOlustur($ana_kategoriler){
         global $db;
         $alt_kategori_durum = '';
         $alt_kategori;
             foreach ($ana_kategoriler as $kategori) {
                 $alt_kategori = $db->rawQuery('select * from s_kategoriler where kategori = ' . $kategori['id'] . ' and durum=1 order by sira asc');              
             }
             return $alt_kategori;
     }

and i was use this returning one more index in array.

         function menuOlustur($ana_kategoriler){
         global $db;
         $alt_kategori_durum = '';
         $alt_kategori;
             foreach ($ana_kategoriler as $kategori) {
                 $alt_kategori[] = $db->rawQuery('select * from s_kategoriler where kategori = ' . $kategori['id'] . ' and durum=1 order by sira asc');              
             }
             return $alt_kategori;
     }

My $ana_kategoriler is an array its a calling query like that

$ana_k_cek = $db->rawQuery('select id, kategori, adi_' . $dil . ' as adi,link_' . $dil . ' as link from s_kategoriler where m_id=5 and durum=1 order by sira asc ');

whats can i do ?

EDIT: fixed query, should not be kategori = 1,2,3,4, but kategory IN(1,2,3,4)

I suggest to change your code to:

function menuOlustur($ana_kategoriler){
    global $db;
    /* first - collect all ids */
    $ids = array();
    foreach ($ana_kategoriler as $kategori) {
        $ids[] = $kategori['id'];         
    }
    /* return empty array if there is no ids, or return result of single query matching all results with given ids */
    return count($ids) > 0 ? $db->rawQuery('select * from s_kategoriler where kategori IN( ' . implode(",",$ids)  . ') AND durum=1 order by sira asc') : array();   
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM