根据位置取消设置多个数组元素

时间:2016-01-23 16:38:24

标签: php arrays json unset

我正在尝试根据数组的位置从数组中删除对象 我将位置保存在数组中: $ items 。 我的主阵列: $ array

<?php       $items = $_POST['items'];
    $winkelkar = json_encode($_SESSION['winkelkar']);
    $array = json_decode( $winkelkar, true );
    $aantalItems = count($items)-1;
    for($i=$aantalItems;$i>=0;$i--){
        unset($array[$items[$i]]);
    }
    $array = array_values($array);
    $_SESSION['winkelkar'] = $array;
    echo json_encode($array);?>

我循环遍历数组并删除我不想要的对象。 它与一个项目完美配合,或者如果我从数组的末尾开始删除更多。 但是,如果我开始

  

$阵列= [{ “aantal”: “2”, “ID”: “21”},{ “aantal”: “1”, “ID”: “96”},{ “aantal” : “1”, “ID”: “97”, “optie”: “24”},{ “aantal”: “1”, “ID”: “2”},{ “aantal”: “1”,” ID “:” 75" }]

我想删除,让我们说: $ items =(0,2,4); 它删除了除预期之外的其他对象并返回:

  

[{ “aantal”: “1”, “ID”: “75”}]

我做错了什么? 如果您需要更多代码,请随时提问!

谢谢。

1 个答案:

答案 0 :(得分:0)

在那里我填充了 $ items 数组,我没有结束循环,导致循环多次执行我的ajax调用。

调试就行了。