Hey,
Ik ben bezig met het maken van een kleine webshop. Ik zit alleen met het volgende probleem. Wanneer iemand een product selecteerd om te kopen wordt het id van het product samen met het aantal in een array gestopt.
Het array ziet er als volgt uit.
Waarin in iid staat voor ItemID.
Nu heb ik de volgende functie gemaakt om een product uit deze array te verwijderen.
Dit gaat goed tot het moment dat ik een record verwijder wat niet aan het eind van de array staat. Als ik uit bovenstaand voorbeeld bijvoorbeeld iid 40431 wil verwijderen geeft deze functie als output:
iid 39 die erna komt valt dus ook weg. Ik krijg het dus niet voor elkaar om een tussenliggende product te verwijderen. Misschien dat iemand mij weer op weg kan helpen wat ik snap er werkelijk niets meer van.
Volgens mij zou het moeten kloppen, onderandere omdat ik al een aparte counter ( $k ) gebruik voor mijn tijdeleijke array ( $tmp ).
Als er iemand suggesties heeft graag
.
Ik ben bezig met het maken van een kleine webshop. Ik zit alleen met het volgende probleem. Wanneer iemand een product selecteerd om te kopen wordt het id van het product samen met het aantal in een array gestopt.
Het array ziet er als volgt uit.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| Array ( [1] => Array ( [iid] => 10428 [quantity] => 1 ) [2] => Array ( [iid] => 10429 [quantity] => 1 ) [3] => Array ( [iid] => 10431 [quantity] => 35 ) [4] => Array ( [iid] => 10439 [quantity] => 3 ) ) |
Waarin in iid staat voor ItemID.
Nu heb ik de volgende functie gemaakt om een product uit deze array te verwijderen.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
| function delete_from_array($array,$record_to_delete){ $tmp = array(); $k = 1; for ($i = 1; $i < sizeof($array) ; $i++) { if($array[$i][iid] != $record_to_delete){ $tmp[$k][iid] = $array[$i][iid]; $tmp[$k][quantity] = $array[$i][quantity]; $k++; } } return $tmp; } |
Dit gaat goed tot het moment dat ik een record verwijder wat niet aan het eind van de array staat. Als ik uit bovenstaand voorbeeld bijvoorbeeld iid 40431 wil verwijderen geeft deze functie als output:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| Array ( [1] => Array ( [iid] => 10428 [quantity] => 1 ) [3] => Array ( [iid] => 10429 [quantity] => 1 ) ) |
iid 39 die erna komt valt dus ook weg. Ik krijg het dus niet voor elkaar om een tussenliggende product te verwijderen. Misschien dat iemand mij weer op weg kan helpen wat ik snap er werkelijk niets meer van.
Volgens mij zou het moeten kloppen, onderandere omdat ik al een aparte counter ( $k ) gebruik voor mijn tijdeleijke array ( $tmp ).
Als er iemand suggesties heeft graag
[ Voor 3% gewijzigd door G F0rce 1 op 08-12-2004 13:58 ]
I feel absolutely clean inside, and there is nothing but pure euphoria. - Alexander Shulgin