$menu = array(
array ('id' => 'Id1', 'catagory' => 'animals', 'info' => 'olives',
'image'=>'images/s1.jpg', 'price' => 2.00),
array ('id' => 'Id2','catagory' => 'animals', 'info' => 'chicken',
'image'=>'images/s2.jpg', 'price' => 3.00),
array('id' => 'Id3','catagory' => 'animals', 'info' => 'soup of the day',
'image'=>'images/s3.jpg', 'price' => 4.00)
)
如何找出多维数组的数组索引,只知道一些值? 比如'id'=>'Id2'
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- dongshen6060 2014-12-02 11:59关注
If i understand your question well, try this:
$menu = array( array ('id' => 'Id1', 'catagory' => 'animals', 'info' => 'olives', 'image'=>'images/s1.jpg', 'price' => 2.00), array ('id' => 'Id2','catagory' => 'animals', 'info' => 'chicken', 'image'=>'images/s2.jpg', 'price' => 3.00), array('id' => 'Id3','catagory' => 'animals', 'info' => 'soup of the day', 'image'=>'images/s3.jpg', 'price' => 4.00) ); echo getIndexByValue($menu, "Id1"); //returns 0 echo getIndexByValue($menu, "images/s3.jpg"); //returns 2 echo getIndexByValue($menu, "qwerty"); //returns -1 function getIndexByValue($menu, $value) { foreach($menu as $index => $subMenu) { if(in_array($value, $subMenu)) { return $index; } } return -1; }
EDIT
If you want to use a key/value pair like
id=>Id1
you can use something like this:echo getIndexByKeyValue($menu, array('id'=>'Id1')); //returns 0 echo getIndexByKeyValue($menu, array('id'=>'Id2')); //returns 1 echo getIndexByKeyValue($menu, array('id'=>'qwerty')); //returns -1 function getIndexByKeyValue($menu, $keyValue) { foreach($menu as $index => $subMenu) { if(array_key_exists(key($keyValue), $subMenu) && $subMenu[key($keyValue)] == $keyValue[key($keyValue)]) { return $index; } } return -1; }
解决 无用评论 打赏 举报
悬赏问题
- ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
- ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
- ¥16 mybatis的代理对象无法通过@Autowired装填
- ¥15 可见光定位matlab仿真
- ¥15 arduino 四自由度机械臂
- ¥15 wordpress 产品图片 GIF 没法显示
- ¥15 求三国群英传pl国战时间的修改方法
- ¥15 matlab代码代写,需写出详细代码,代价私
- ¥15 ROS系统搭建请教(跨境电商用途)
- ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。