3

私は現在、array_diffを使用して配列から1つの値を削除しようとしています。

現在、コードは次のようになっています。

$item_id = 501;
$array = array_diff($user_items, array($item_id));

ユーザーアイテム配列:501,501,502,502

配列で正しく結果が得られます:502,502

2x501の値ではなく1x501のみを削除することは可能ですか?または別の言い方をすると、削除を1つの値で制限します

配列は次のようになります:501,502,502

アドバイスをいただければ幸いです

4

2 に答える 2

5

array_search最初の値を見つけて削除するために使用できます。

$pos = array_search($item_id, $user_items);

if($pos !== false)
  unset($user_items[$pos]);
于 2013-01-30T23:13:27.543 に答える
2

アイテムを検索し、存在する場合は削除するのはどうですか?

$key = array_search($item_id, $user_items)
if ($key !== FALSE) {
  unset($user_items[$key]);
}

使用unsetはあなたが思うほど簡単ではありません。詳細については、この同様の質問のStefanGehrigの回答を参照してください。

于 2013-01-30T23:20:18.267 に答える