《Disney +》 迪士尼、Marvel、彼思、星球大戰…  「KOF XV」新角色預告片「KUKRI(庫克里)」公開!   育碧發表多人聯機 FPS「湯姆克蘭西:極惡戰線」!   笑一個!《Kena: Bridge of Spirits》公布相片模式   魔物獵人 × Bauhutte!?艾路版「廢人裝」在卡普空網路商店登場!現正開放預購中!   Cygames 發表以魔術師世界為舞台的家用主機動作遊戲新作「Project GAMM」!   「GUILTY GEAR -STRIVE-」季票1第4彈追加角色決定為「梅喧」!   在《Wanderer》裡改寫過去並重塑未來   《Uncharted: Legacy of Thieves Collection》將登陸PS5主機與PC平台 

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

隨機商業新聞

Addidas