php - 如果内部数组中有匹配项,则获取外部数组的索引

标签 php mysql arrays

当我 print_r 我的数组给出

Array ( 
   [0] => Array ( [userid] => 2 [popularity] => 41.7 ) 
   [1] => Array ( [userid] => 5 [popularity] => 33.3 ) 
   [2] => Array ( [userid] => 7 [popularity] => 25.0 ) 
)

是查询用户并按流行度desc排序后返回的数组,意思是
id 2 的用户人气为 41.7
id 5 的用户人气为 33.3 等等,

然后我有一个动态查询,显示每个用户的受欢迎程度 示例:
id 为 2 的用户的流行度为 41.7
id 为 5 的用户的流行度为 33.3 等等。

我只想显示每个用户的位置(外部数组 index),如果动态查询的用户 id 与上面数组的输出匹配,然后递增 1,因为数组索引总是从 0 开始 示例:
id 为 2 的用户的位置为 1(获胜者)
id 为 5 的用户,位置为 2
id 为 7 的用户,位置为 3 等等。

我该怎么做...

最佳答案

此代码修改数组并为每个元素添加新键“位置”(= $key + 1)。

function addPosition(&$item, $key) {
    $item['position'] = $key + 1;
}
array_walk($data, 'addPosition');

关于php - 如果内部数组中有匹配项,则获取外部数组的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29715270/

相关文章:

php - 服务器错误5006:供应商未指定重定向URL,但已指定URL

php - 根据 MySQL 输出分配 div 颜色

mysql - 数组上具有单独元素的 Ruby 方法

java - hashCode() 根据条件返回特定代码

java - 在我们不能跳过数组中 1 个或多个连续数字的数组中找到最大评分(数字)

php - OO 通过PHP上传个人资料图片

php - 刷新html页面中的框架

php - 在 PHP 文件而不是 HTML 中使用 Google Analytics 全局网站标记

mysql - 如何向mysql表添加动态数据

javascript - 如何访问没有键的对象,只有值javascript