• 12-08-2010, 16:38:19
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    	
    
    $dizi = array(
    	array('izmir','rize','bursa'), // 0
    	array('ali','veli','deli'), // 1
    	array('bir','iki','üç'), // 2
    	);
    Böyle bir dizim var. Yapmak istediğim şey; döngü kullanmadan, $dizi dizisinde arama yapabilmek. Mesela şöyle bir arama fonksiyonu düşünün.

    echo arama('veli');

    yazdığımda "veli" datasının yerini verecek bana. $dizi[1][1] gibi veya sadece $dizi[1]'i de verse razıyım. Ben bir çözüm bulamadım döngüsüz. Döngü ile işler çok uzun sürüyor. O yüzden döngü de olsun istemiyorum.

    Umutsuz bir vaka ama belli olmaz, birileri bir yerleri değiştirip, farklı fonksiyonlar denetip birşeyler üretebilir diye sorayım dedim.

    Var mı fikri olan?
  • 12-08-2010, 17:51:35
    #3
    Üyeliği durduruldu
    döngü sadece karışık oluyor diye kullanmıyorsan fonksiyon haline getirip kullanabilirsin.
    function arama($deger){
    döngü
    }

    arama(veli)
    gibi.

    ya da

    array_search :
    $dizi = array( 
        array('izmir','rize','bursa'), // 0 
        array('ali','veli','deli'), // 1 
        array('bir','iki','üç'), // 2 
        );  
    $arama = array_search('veli', $dizi);
    print $arama;
  • 12-08-2010, 17:52:22
    #4
    Üyeliği durduruldu
    aradığın şeye alternatif

    http://www.phpclasses.org/package/58...sing-LINQ.html


    kullanımı
    $dizi = array( 
        array('izmir','rize','bursa'), // 0 
        array('ali','veli','deli'), // 1 
        array('bir','iki','üç'), // 2 
        );  
    
    $db =  new D3Linq();
    $db->Query("SELECT key  as index,value as deger FROM dizi WHERE  in_array('veli',$value)");
    
    $veri = $db->fetch_array();
    
    echo $veri['index'];
  • 12-08-2010, 17:55:22
    #5
    D3LLy geçenlerde blogunda bu sınıfı görmüştüm.şimdi ben yazacaktım buraya ( :
  • 12-08-2010, 18:17:51
    #6
    Üyeliği durduruldu
    AKoyun adlı üyeden alıntı: mesajı görüntüle
    D3LLy geçenlerde blogunda bu sınıfı görmüştüm.şimdi ben yazacaktım buraya ( :
    Blogumda daha güzel sınıflar da var aslında (:
  • 12-08-2010, 23:28:47
    #7
    Levye adlı üyeden alıntı: mesajı görüntüle
    döngü sadece karışık oluyor diye kullanmıyorsan fonksiyon haline getirip kullanabilirsin.
    function arama($deger){
    döngü
    }

    arama(veli)
    gibi.

    ya da

    array_search :
    $dizi = array( 
        array('izmir','rize','bursa'), // 0 
        array('ali','veli','deli'), // 1 
        array('bir','iki','üç'), // 2 
        );  
    $arama = array_search('veli', $dizi);
    print $arama;

    dostum sen denedin mi bu verdiğin kodu? boş veri döndürüyor.


    D3LLy adlı üyeden alıntı: mesajı görüntüle
    aradığın şeye alternatif

    http://www.phpclasses.org/package/58...sing-LINQ.html


    kullanımı
    $dizi = array( 
        array('izmir','rize','bursa'), // 0 
        array('ali','veli','deli'), // 1 
        array('bir','iki','üç'), // 2 
        );  
    
    $db =  new D3Linq();
    $db->Query("SELECT key  as index,value as deger FROM dizi WHERE  in_array('veli',$value)");
    
    $veri = $db->fetch_array();
    
    echo $veri['index'];

    çok saol ama db olsun istemedim, çünkü array sayısı bi hayli fazla olacak.
  • 13-08-2010, 00:22:51
    #8
    Üyeliği durduruldu
    Cappystarj0e adlı üyeden alıntı: mesajı görüntüle
    dostum sen denedin mi bu verdiğin kodu? boş veri döndürüyor.





    çok saol ama db olsun istemedim, çünkü array sayısı bi hayli fazla olacak.

    db olmuyor dizi içinde arama yapıyor. ayrıca zaten büyük diziler için yapılmış birşey ..
  • 13-08-2010, 14:12:35
    #9
    D3LLy adlı üyeden alıntı: mesajı görüntüle
    db olmuyor dizi içinde arama yapıyor. ayrıca zaten büyük diziler için yapılmış birşey ..
    dediğini anladım, pm gönderdim.