Hmm. I think you're confusing a few things
--> there is no security difference. $_SESSION is howerver the better form because it's universal
i want to use $_SESSION super globals as it is more secure.
i don't understand why you try to set the index, certainly not since you aren't setting a value for that element.
You also best first build the array and then store the completed array in a sessionvariable. Like
$array_cart = array('1234'=>'blabla', '2355'=>'dfsdfsdf');
$_SESSION['cart'] = $array_cart ;