php - 按值搜索时返回数组的索引

标签 php mysql arrays algorithm

我有一个来自 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)

最佳答案

使用 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;

输出

1

关于php - 按值搜索时返回数组的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36603241/

相关文章:

php - 如何防止 PHP 中另一个 foreach 循环内的 foreach 循环出现重复?

php - Laravel 将关系对象添加到新的 Eloquent 模型中

php - 在日历中显示事件 php mysql

python - 频繁连接时与 MySQL 服务器在 'reading initial communication packet' 处失去连接

javascript - 删除元素后更新数组长度

php - 在数据库中保存 HTML - htmlentities

php - 卡在 MYSQL mysqli 获取行中

php - 将 JSON 字符串解析为数据库

javascript - jQuery 检查值是否在对象中

java - java打印字符串数组的内容