I have run into a problem that is a little irritating. Here is my PHP code. Ignore where the variables are coming from. This is for shopping-cart functionality but it is applicable in many different areas.

```
$data_set = json_decode(stripslashes($_POST['varA']), true);
$pid = $pid['product_id'];
$quantity = $pid['quantity'];

$_SESSION['cartid'] = $_SESSION['cartid'] + 1;

$product_data = array("Product_ID" = > $pid, "quantity" = > $quantity, "cartid" = > $_SESSION['cartid']);

```

My issue is occurring at this place in the code. I first check to see if the Session variable has a value in it, if not then it proceeds to create an associative array.

```
if (empty($_SESSION['cart_items'])) {
    $_SESSION['cart_items'] = array("items" = > $product_data);
} else {
    array_push($_SESSION['cart_items']['items'], $product_data);
}

echo json_encode($_SESSION['cart_items']);

```

The end result after the first item is "added" looks like this:

```
{
    "items": {
        "Product_ID": "2",
        "quantity": "1",
        "cartid": 1
    }
}

```

However, after several the first add, every value gets a key:

```
{
    "items": {
        "0": {
            "Product_ID": "2",
            "quantity": "1",
            "cartid": 2
        },
        "1": {
            "Product_ID": "2",
            "quantity": "1",
            "cartid": 3
        },
        "Product_ID": "2",
        "quantity": "1",
        "cartid": 1
    }
}

```

How do I prevent these keys from occuring? Is this possible? If not, how can this be re-written so that the keys are added every time? And is this possible to parse and loop through in JS on the front end?

Sorry I have so many questions. Any help is really appreciated.