webForumDet fria alternativet

Ta bort och uppdatera index i flerdimensionell array

PHP

2 svar · 266 visningar · startad av arro08

Medlem sedan dec. 200322 inlägg
Frågan#1

Har en massa värden i en multidimensionell array (som också ligger i en session), exempelvis:

$_SESSION['basket']['1']['id']
$_SESSION['basket']['1']['namn']
$_SESSION['basket']['1']['pris']

$_SESSION['basket']['2']['id']
$_SESSION['basket']['2']['namn']
$_SESSION['basket']['2']['pris']

Om jag gör:
unset($_SESSION['basket']['1'])

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.

Medlem sedan mars 20034 471 inlägg
#2

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? :q 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.)

Medlem sedan mars 20007 896 inlägg
#3

http://www.webforum.nu/showthread.php?s=&threadid=95473&forumid=23

Vet inte hur den funktionen fungerade dock, eftersom att jag aldrig fick något respons på mitt inlägg. :)

259 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)