如何从多个数组中删除特定值

24 浏览
0 Comments

如何从多个数组中删除特定值

这个问题已经有答案了:

PHP数组根据值(而不是键)删除

以下是我的数组,我想从中删除特定的值。

Array
(
    [0] => Array
        (
            [name] => categoryfilter
            [value] => 127
        )
    [1] => Array
        (
            [name] => price_min
            [value] => sd
        )
    [2] => Array
        (
            [name] => price_max
            [value] => sdsd
        )
    [3] => Array
        (
            [name] => action
            [value] => myfilter
        )
    [4] => Array
        (
            [name] => quantity
            [value] => 1
        )
    [5] => Array
        (
            [name] => quantity
            [value] => 1
        )
    [6] => Array
        (
            [name] => quantity
            [value] => 1
        )
    [7] => Array
        (
            [name] => quantity
            [value] => 0
        )
    [8] => Array
        (
            [name] => quantity
            [value] => 0
        )
    [9] => Array
        (
            [name] => quantity
            [value] => 0
        )
    [10] => Array
        (
            [name] => quantity
            [value] => 1
        )
);

我想从数组中删除所有quantity键的项目。

我尝试使用以下方法,但未删除并显示相同的内容。

if (($key = array_search('quantity', $_POST['product'])) !== false) {
    unset($_POST['product'][$key]);
}
echo "
";print_r($_POST['product']);

admin 更改状态以发布 2023年5月23日
0
0 Comments

使用array_filter函数和callback回调函数

 $f = array_filter($a, function($v){return $v['name'] != 'quantity';});

工作示例:https://3v4l.org/DqoLj

0
0 Comments

遍历数组。

foreach ($_POST['product'] as $k => $p) {
    if ($p['name'] == 'quantity') {
        unset($_POST['product'][$k];
    }
}

0