亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP - 檢查數組中是否存在值但僅針對特定鍵

PHP - 檢查數組中是否存在值但僅針對特定鍵

PHP
炎炎設計 2023-07-30 13:58:55
我有一個數組,我正在使用 來檢查數組中是否存在值in_array()。但是,我只想檢查密鑰ID而不是date。$arr = ({    "ID":"10",    "date":"04\/22\/20"},{    "ID":"20",    "date":"05\/25\/20"},{    "ID":"32",    "date":"07\/13\/20"});因此,在此示例中,不應滿足條件,因為25存在于date,但不存在于ID。if (in_array("25", $arr)) {    return true;}
查看完整描述

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]。


查看完整回答
反對 回復 2023-07-30
?
守候你守候我

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'));


查看完整回答
反對 回復 2023-07-30
?
手掌心

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';

};


查看完整回答
反對 回復 2023-07-30
  • 3 回答
  • 0 關注
  • 181 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號