Ik heb een array ($this->menu). In die array staan andere arrays, waarin de variabele "pos" staat. Bijvoorbeeld
$this->menu[1]["pos"]
Dit is bijvoorbeeld 0, of 3, of -5 ofzo
Als het 3 is, dan moet die array 3 plaatsen terug in de hoofdarray. Als het -1 is, dan moet ie 3 plaatsen verder
Bijvoorbeeld:
(1) $this->menu[0]["pos"]=0
(2) $this->menu[1]["pos"]=0
(3) $this->menu[2]["pos"]=0
(4) $this->menu[3]["pos"]=2
Dan moet het in de volgorde (1)(4)(2)(3) komen te staan. Dit lukt met de volgende functie:
Ik kan nou alleen geen functie maken die het omgekeerde doet, waarbij je dus de waarde -1 aan pos geeft. Ik heb echt (bijna) alles al geprobeerd, weet iemand een oplossing?
$this->menu[1]["pos"]
Dit is bijvoorbeeld 0, of 3, of -5 ofzo
Als het 3 is, dan moet die array 3 plaatsen terug in de hoofdarray. Als het -1 is, dan moet ie 3 plaatsen verder
Bijvoorbeeld:
(1) $this->menu[0]["pos"]=0
(2) $this->menu[1]["pos"]=0
(3) $this->menu[2]["pos"]=0
(4) $this->menu[3]["pos"]=2
Dan moet het in de volgorde (1)(4)(2)(3) komen te staan. Dit lukt met de volgende functie:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| <? function ParseMenu(){ for($i=1; $i<=sizeof($this->menu); $i++){ if ($this->menu[$i]["pos"]>0) { for ($j=1; $j<=$this->menu[$i-$j+1]["pos"]; $j++) { if($this->menu[$i-$j]){ $blaat=$this->menu[$i-$j]; $this->menu[$i-$j]=$this->menu[$i-$j+1]; $this->menu[$i-$j+1]=$blaat; $this->menu[$i-$j+1]["pos"]=$this->menu[$i-$j+1]["pos"]-1; } } } if ($this->menu[$i]["pos"]>0) { $this->ParseMenu(); } } ?> |
Ik kan nou alleen geen functie maken die het omgekeerde doet, waarbij je dus de waarde -1 aan pos geeft. Ik heb echt (bijna) alles al geprobeerd, weet iemand een oplossing?