3 回答
TA贡献1786条经验 获得超12个赞
要直接执行此操作,您需要循环数组。
function hasId($arr, $id) {
foreach ($arr as $value) {
if ($value['ID'] == $id) return true;
}
return false;
}
如果您需要对多个 ID 执行此操作,最好将数组转换为映射并使用isset.
$map = array();
foreach ($arr as $value) {
$map[$value['ID']] = $value;
// or $map[$value['ID']] = $value['date'];
}
if (isset($map["25"])) {
...
}
这还允许您使用 id 通过 id 廉价地查找地图中的任何值$map[$key]。
TA贡献1802条经验 获得超10个赞
对于 PHP 版本(>= 5.5.0),有一个简单的方法可以做到这一点
$arr = ({
"ID":"10",
"date":"04\/22\/20"
},
{
"ID":"20",
"date":"05\/25\/20"
},
{
"ID":"32",
"date":"07\/13\/20"
});
$searched_value = array_search('25', array_column($arr, 'ID'));
TA贡献1942条经验 获得超3个赞
您还可以通过 array_filter 函数检查它:
$searchId = '25';
$arr = [[
"ID" => "10",
"date" => "04\/22\/20"
],
[
"ID" => "25",
"date" => "05\/25\/20"
],
[
"ID" => "32",
"date" => "07\/13\/20"
]];
$items = array_filter($arr, function ($item) use ($searchId) {
return $item['ID'] === $searchId;
});
if (count($items) > 0) {
echo 'found';
};
- 3 回答
- 0 关注
- 127 浏览
添加回答
举报