当我 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/