【问题标题】:Array search on a multidimensional array?在多维数组上进行数组搜索?
【发布时间】:2014-02-07 13:20:46
【问题描述】:

这是我的数组的开始:

array(19) {
    [0]=> array(3) {
        ["id"]=> string(2) "46"
        ["title"]=> string(7) "A"
        ["thumb"]=> string(68) "013de1e6ab2bfb5bf9fa7de648028a4aefea0ade816b935dd423ed1ce15818ba.jpg"
    }
    [1]=> array(3) {
        ["id"]=> string(2) "47"
        ["title"]=> string(7) "B"
        ["thumb"]=> string(68) "9df2be62d615f8a6ae9b7de36671c9907e4dadd3d9c3c5db1e21ac815cf098e6.jpg"
    }
    [2]=> array(3) {
        ["id"]=> string(2) "49"
        ["title"]=> string(6) "Look 7"
        ["thumb"]=> string(68) "0bfb2a6dd1142699ac113e4184364bdf5229517d98d0a428b62f6a72c8288dac.jpg"
    }
}

我如何在此使用array_search?我需要获取元素的id

【问题讨论】:

  • 这里可能出现大量类似问题的重复。另外:“你试过什么?”。啧啧啧,以你的声望分,你真该知道的更清楚。

标签: php


【解决方案1】:

使用=== 运算符比较的类型必须完全相同,在此代码中您必须搜索字符串或只使用== 而不是===

function searchId($id, $array) {
   foreach ($array as $key => $val) {
       if ($val['id'] === $id) {
           return $key;
       }
   }
   return null;
}


$id = searchId('46', $yourarray);

【讨论】:

  • 这里最好使用==,不过……你应该假设不是每个使用这个函数的人都知道它会进行类型和值检查
猜你喜欢
  • 2011-07-10
  • 2016-05-03
  • 2011-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-29
相关资源
最近更新 更多