2016-04-13 16 views
1

arandığında döndürür. Benim MySQL sonucundan bir dizim var. Değere göre arama yapabilmek ve dizideki dizin konumunu elde edebilmeyi istiyorum., bir değer dizini

Benim dizisi $array_result

Array (
    [0] => Array ([scores] => 90) 
    [1] => Array ([scores] => 80) 
    [2] => Array ([scores] => 73) 
    [3] => Array ([scores] => 0) 
    [4] => Array ([scores] => 0) 
    [5] => Array ([scores] => 0) 
    [6] => Array ([scores] => 0) 
    [7] => Array ([scores] => 0) 
    [8] => Array ([scores] => 0) 
    [9] => Array ([scores] => 0) 
    [10] => Array ([scores] => 0) 
    [11] => Array ([scores] => 0) 
    [12] => Array ([scores] => 0) 
    [13] => Array ([scores] => 0) 
    [14] => Array ([scores] => 0) 
    [15] => Array ([scores] => 0) 
    [16] => Array ([scores] => 0) 
    [17] => Array ([scores] => 0) 
) 

Örnek aşağıda verilmiştir: Ben 80 aramak ve 1 dizinini almak istiyorum. Bu işlevi denedim ancak doğru yanıtı alamadım: array_search(80, $array_result).

+0

Bu yüzden, çok boyutlu bir dizidir, 'çalışmaz array_search'. –

+0

@FrayneKonok, hangi yaklaşımın en iyisi olduğunu düşünüyorsunuz? – DavidoLLP

+0

@dakab Düzenleme için teşekkürler – DavidoLLP

cevap

0

Bunu başarmak için bir foreach döngüsü kullanın. Online link, bunu dene. İlk maç indeksi döndürür.

Dizi

$array_result = array( 
    array ("scores" => 90), 
    array ("scores" => 80), 
    array ("scores" => 73), 
    array ("scores" => 0), 
    array ("scores" => 0), 
    array ("scores" => 0), 
    array ("scores" => 0), 
    array ("scores" => 0), 
    array ("scores" => 0), 
    array ("scores" => 0), 
    array ("scores" => 0), 
    array ("scores" => 0), 
    array ("scores" => 0), 
    array ("scores" => 0), 
    array ("scores" => 0), 
    array ("scores" => 0), 
    array ("scores" => 0), 
    array ("scores" => 0) 
); 

foreach($array_result as $key => $val){ 
    if(in_array(80, $val)){ 
     $out = $key; 
     break; 
    }  
} 

echo $out; 

Çıkış