我目前正在尝试使用 array_diff 从数组中删除 1 个值。

代码现在看起来像这样:

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

用户项数组:501,501,502,502

结果在数组中正确:502,502

是否可以只删除 1x501 而不是 2x501 值?或者换种说法:将移除限制为 1 个值

数组则为:501,502,502

任何建议表示赞赏

最佳答案

如何搜索该项目,然后将其删除(如果存在)?

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

使用 unset 并不像您想象的那么简单。有关详细信息,请参阅 this similar question 中 Stefan Gehrig 的回答。

关于PHP:array_diff - 删除一个值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14615603/

10-11 17:47