从数组中删除元素(PHP)

mor*_*ous 1 php

我想从PHP数组中删除一个元素(并缩小数组大小).只是看看PHP文档,似乎可以使用array_slice()和array_merge()来完成

所以我猜测(在我的脑海中),array_merge()和array_slice的某些组合将起作用.但是,array_slice()需要一个索引(而不是一个键),因此我不确定如何快速拼凑这些函数以获得解决方案.

有没有人之前实现过这样的功能?我敢肯定它一定只有几行,但我不知道怎么能绕过它(那是其中一天)......

实际上,我在撰写这个问题时想出了这个俗气的黑客......

function remove_from_array(array $in, value) {
   return array_diff($in, (array)$value);
}
Run Code Online (Sandbox Code Playgroud)

太丑了?或者它会起作用(没有任何令人震惊的副作用)?

mma*_*tax 6

此功能已存在; 看看unset.

http://php.net/manual/en/function.unset.php


$a = array('foo' => 'bar', 'bar' => 'gork');
unset($a['bar']);
print_r($a);

输出将是:

array(
[foo] => bar
)

  • 如果它被数字索引怎么办? (2认同)