《Disney +》 迪士尼、Marvel、彼思、星球大戰…  魔物獵人桌遊化?!桌遊版魔物獵人「魔物獵人 世界 The Board Game」隆重登場!   日本恐怖遊戲工作室Chilla’s Art最新作《The Night Way Home | 帰り道》將於8月7日發售   IKEA聯乘ROG電競系列 免費體驗IKEA電競體驗館!   解構《Ratchet & Clank: Rift Apart》無懈可擊的動畫   「Play At Home」回歸:自3月1日起,提供四個月PlayStation免費遊戲   TGS2021 Online King of Fighters XV Special Program!KOF XV全新角色正式登場!   Razer電競耳機Kraken V3系列新型號發表!   《Destruction AllStars》訪談:PS5技術讓競技車手栩栩如生 

PHP Array 依照「值」來刪除 Key

商業

PHP 陣列內容的「值(Value)」符合某個字串,就要將此符合的 Key 從陣列刪除(Key + Value 都一起刪除),要怎麼做呢?

PHP Array 依照「值」來刪除 Key

資料準備:先隨機來產生陣列的值


使用 foreach 找值

最常見的寫法,直接跑個 foreach 來找出值,再來刪除此 Key

 $value) { // 單值的寫法
    if ($value == $del_value) {
        unset($data[$key]);
    }
    break; // 若可以確定此 value 只有一個,break 掉會比較快
}
?>
 $value) { // 多值的寫法 (多個 value = 'example' 都要移除)
    if ($value == $del_value) {
        unset($data[$key]);
    }
}
?>

使用 array_search() 來找值



速度測試比較:

  • 上述寫法單值與多值的寫法速度差異大概 2~3倍(單值寫法快很多)
  • 單值寫法:foreach 與 array_search() 速度差不多
  • 多值寫法:foreach 與 array_search() 速度,foreach 比較快一點 (應該是 array_search() 每次都要從頭再找一次)

相關網頁

Tsung

隨機商業新聞

NordVPN