så vill jag att $_SESSION['basket']['2'] ska numreras om till $_SESSION['basket']['1'] samtidigt som alla andra värden hänger med. Alltså så att $_SESSION['basket']['2']['id'] istället blir $_SESSION['basket']['1']['id'].
Och så vidare med nummer 3, 4 etc.
unset fungerar inte så. Det som händer är bara att $_SESSION['basket']['1'] inte har något värde. Vill du flytta alla poster som ligger efter får du göra det "manuellt", dvs lämpligen i en funktion skriven för det.
Men varför? Vad har du för nytta av att hålla på och flytta en massa variabler? PHP's arrayer ser inte ut som vanliga programmeringsspråks, du måste inte fylla ut några "hål". Det går utmärkt att ha en array med värden endast i positionerna 5, 6 och 14 tex. (Gäller även multidimensionella arrayer.)