Eerst een korte uitleg ik ben bezig met een grafiek ding (wie niet)
de eerste code is een stukje dat ik heb gebruikt als test.
dit geeft het volgende als uitvoer:
a = orange
orange
orange = a
b = banana
banana
orange = a
c = apple
apple
orange = a
d = lemon
lemon
orange = a
Dat klopt volgens mij de foreach veranderd de pointer naar de array niet dus als je
aanroept blijft het eerste element terug komen.
nu heb ik dit gedaan :
in het kort gezegt tekent dit een lijntje, en ik kijk steeds naar het huidige punt en 1 verder. In $tk komt de tijdelijke key testaan en als ik het mag geloven is dat nooit de key waar je nu staat. (zie voorbeeld hierboven)
Maar het werkt toch volgens mijn zie ik hier wat over het hoofd.
Kan iemand mij vertellen waarom het in situatie 1 niet werkt en in situatie 2 wel
de eerste code is een stukje dat ik heb gebruikt als test.
PHP:
1
2
3
4
5
6
7
8
9
10
11
| <? $fruits = array ("a"=>"orange", "b"=>"banana", "c"=>"apple", "d"=>"lemon"); foreach ($fruits as $key => $value) { print($key.' = '.$value.'<br/>'); print($fruits[$key].'<br/>'); $k = key($fruits); print($fruits[$k].' = '.$k.'<br/>'); } ?> |
dit geeft het volgende als uitvoer:
a = orange
orange
orange = a
b = banana
banana
orange = a
c = apple
apple
orange = a
d = lemon
lemon
orange = a
Dat klopt volgens mij de foreach veranderd de pointer naar de array niet dus als je
PHP:
1
2
3
| <? $k = key($fruits); ?> |
aanroept blijft het eerste element terug komen.
nu heb ik dit gedaan :
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| <? $i=0; foreach ($dataArray as $key => $value) { $z=((($width-$XPOS)/($aantal-1))*$i)+$XPOS; if ($i<(sizeof($dataArray)-1)) { $tk = key($dataArray); imageline($imgp,$z,($height-$YPOS)-($y*($dataArray[$key]-$gminh)),$z+(($width-$XPOS)/($aantal-1)),($height-$YPOS)-($y*($dataArray[$tk]-$gminh)),$rood); } $i++; } ?> |
in het kort gezegt tekent dit een lijntje, en ik kijk steeds naar het huidige punt en 1 verder. In $tk komt de tijdelijke key testaan en als ik het mag geloven is dat nooit de key waar je nu staat. (zie voorbeeld hierboven)
Maar het werkt toch volgens mijn zie ik hier wat over het hoofd.
Kan iemand mij vertellen waarom het in situatie 1 niet werkt en in situatie 2 wel