小编典典

按值删除数组项

all

我需要删除具有给定值的数组项:

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

它可以以更短(更有效)的方式完成吗?


阅读 63

收藏
2022-08-24

共1个答案

小编典典

怎么样:

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

或多个值:

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

这也可以防止密钥丢失,这是array_flip().

2022-08-24