php 二维数组查找数组下标

比如这么一个数组:Array([0]=>Array([id]=>1[metal]=>19[wood]=>6[fire]=>40[water]=>40[earth]=>40... 比如这么一个数组:
Array
(
[0] => Array
(
[id] => 1
[metal] => 19
[wood] => 6
[fire] => 40
[water] => 40
[earth] => 40
[uid] => 1
)

[1] => Array
(
[id] => 2
[metal] => 52
[wood] => 58
[fire] => 40
[water] => 40
[earth] => 40
[uid] => 2
)

[2] => Array
(
[id] => 3
[metal] => 57
[wood] => 44
[fire] => 40
[water] => 40
[earth] => 42
[uid] => 3
)

[3] => Array
(
[id] => 4
[metal] => 40
[wood] => 43
[fire] => 40
[water] => 40
[earth] => 41
[uid] => 4
)

[4] => Array
(
[id] => 5
[metal] => 40
[wood] => 40
[fire] => 40
[water] => 40
[earth] => 40
[uid] => 5
)

);

我想要同过可以获取的uid的值,比如是2。从而获得其在这整个大数组中得下标[1]。

这个逻辑应该如何实现呢,本人是菜鸟,万分感激,在线等!!!!!!!!!!!!!!!!!!!!!!!!!
展开
 我来答
fzypzl
推荐于2016-03-26 · TA获得超过176个赞
知道答主
回答量:81
采纳率:0%
帮助的人:56.7万
展开全部
很简单,遍历一遍数组就可以了
foreach($arr as $k=>$v){
if($v['uid']==2){
return $k;

}

}
这个$k就是
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9308069
2015-08-30 · TA获得超过1万个赞
知道大有可为答主
回答量:3947
采纳率:89%
帮助的人:1931万
展开全部
function findKeyByUid($a, $uid)
    foreach($a as $k=>$v){
        if($v['uid'])===$uid){
              return $key;
        }
        return false;
}
$a=原数组
$k=findKeyByUid($a, 2);//找uid为2的键

数据大了改用二分法更快点...

追问
二分法该怎么办呢?求教求教
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式