2016-04-13 60 views
1

我有一个MySQL结果数组。我希望能够通过值进行搜索并获取数组中的索引位置。按值搜索时返回数组的索引

我的阵列$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) 
) 

实例给出:我想搜索80并获得1指数。我试过这个功能,但没有得到正确的回应:array_search(80, $array_result)

+0

这是一个多维阵列是这样,'array_search'不起作用。 –

+0

@FrayneKonok谢谢您认为哪种方法最好? – DavidoLLP

+0

@dakab感谢您的编辑 – DavidoLLP

回答

0

使用foreach循环来实现这一点。 Online link,试试这个。你先匹配会返回索引。

阵列

$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; 

输出