1. ホーム
  2. php

[解決済み] 配列の項目を値で削除する [重複]。

2022-04-22 22:54:05

質問

指定された値を持つ配列の項目を削除する必要があります。

if (in_array($id, $items)) {
    $items = array_flip($items);
    unset($items[ $id ]);
    $items = array_flip($items);
}

もっと短い(効率の良い)方法でできないか?

解決方法は?

いかがでしょうか。

if (($key = array_search($id, $items)) !== false) unset($items[$key]);

または複数の値に対して

while(($key = array_search($id, $items)) !== false) {
    unset($items[$key]);
}

の副作用である鍵の紛失も防ぐことができます。 array_flip() .