3 回答

TA貢獻1786條經驗 獲得超13個贊
要直接執行此操作,您需要循環數組。
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 關注
- 181 瀏覽
添加回答
舉報