《Disney +》 迪士尼、Marvel、彼思、星球大戰…  最適合於除夕新年遊玩!「Nintendo Switch新春大減價」即將開始!   「KOF XV」新角色預告片「KUKRI(庫克里)」公開!   《Star Wars Republic Commando》四月登陸PS4   《DEATH STRANDING DIRECTOR’S CUT》今日登陸PS5,新內容速報   曾獲日本遊戲設計大獎2020的《Baba Is You》登上智慧型手機平台!   Netflix獨佔《惡靈古堡:無盡闇黑》日語聲優確定!預告影片與角色PV解禁!   戴上這個你也是阿邦的徒弟!JAM HOME MADE的「阿邦之證」等《達伊的大冒險》聯名飾品登場!   澀谷實境RPG!《新‧美麗新世界》×「FIELD WALK RPG」街道探索活動開跑! 

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

隨機商業新聞