2

こんにちは、foreach ループを使用して配列要素を削除しようとしていますが、何もしません。インデックスをnullにするのではなく、完全に削除する必要があります。これが私が試したことです:

foreach ($_SESSION['cart']  as &$arrays3) {
    if($arrays3['id'] == $id){
        unset($arrays3);
    }
}

各キーの配列値には連想配列が含まれていることに注意してください。

4

2 に答える 2

5

keyforeach から を使用し、変数を直接 (セッションから) 設定解除する必要があります。

foreach ($_SESSION['cart']  as $key => $arrays3) {
    if($arrays3['id'] == $id){
        unset($_SESSION['cart'][$key]);
    }
}

設定解除$arrays3またはその子のいずれかは、foreach ループの次の繰り返しで再度設定されるまで有効です。

于 2013-10-15T23:34:24.347 に答える