我有这个数组
$cart= Array(
[0] => Array([id] => 15[price] => 400)
[1] => Array([id] => 12[price] => 400)
)
我需要的是根据某个值删除数组键,就像这样。$value = 15;
值为15只是一个例子,我需要检查数组并删除如果该值存在于ID中?
我有这个数组
$cart= Array(
[0] => Array([id] => 15[price] => 400)
[1] => Array([id] => 12[price] => 400)
)
我需要的是根据某个值删除数组键,就像这样。$value = 15;
值为15只是一个例子,我需要检查数组并删除如果该值存在于ID中?
array_filter
函数适用于从数组中移除不需要的元素。
$cart = array_filter($cart, function($x) { return $x['id'] != 15; });
如果你想使用一个变量来确定要删除哪个id,而不是将其包含在array_filter
回调中,你可以在函数中像这样使用
你的变量:
如果您想使用变量来确定要删除哪个id,而不是将其包含在array_filter
回调函数中,您可以在函数中像这样使用
您的变量:
$value = 15;
$cart = array_filter($cart, function($x) use ($value) { return $x['id'] != $value; });
PHP 中有许多奇怪的数组函数,但其中许多请求可以通过非常简单的 foreach 循环解决...
$value = 15;
foreach ($cart as $i => $v) {
if ($v['id'] == $value) {
unset($cart[$i]);
}
}
如果$value根本不在数组中,将不会发生任何事情。 如果$ value在数组中,则整个索引将被删除(unset)。
foreach($array as $key => $item) {
if ($item['id'] === $value) {
unset($array[$key]);
}
}
unset($item)
并不会删除数组元素,它只是取消对它的引用。 - Don't Panicfunction clearArray($value){ ... }
,则不需要再使用 $item,顺便说一下,我认为更好的解决方案是使用 PHP 中的 array_filter
函数。 - dwaskowski