Reacties op het script array_reverze();
|
Gepost op: 05 september 2007 - 15:03 |
|
|
|
Crew algemeen
|
voldoende voor een for-lus, niet voor een foreach lus.
bij sommige php versies (weet niet exact welke) krijg je dan deze output:
Array
(
[25] => a
[24] => b
[23] => c
[22] => d
[21] => e
[20] => f
[19] => g
[18] => h
[17] => i
[16] => j
[15] => k
[14] => l
[13] => m
[12] => n
[11] => o
[10] => p
[9] => q
[8] => r
[7] => s
[6] => t
[5] => u
[4] => v
[3] => w
[2] => x
[1] => y
[0] => z
)
( [25] => a [24] => b [23] => c [22] => d [21] => e [20] => f [19] => g [18] => h [17] => i [16] => j [15] => k [14] => l [13] => m [12] => n [11] => o [10] => p [9] => q [8] => r [7] => s [6] => t [5] => u [4] => v [3] => w [2] => x [1] => y [0] => z )
wat resulteerd in range('a','z') als je een foreach gebruikt! |
|
|
|
Gepost op: 06 september 2007 - 10:45 |
|
|
|
Onbekend
|
Niet echt geweldig. Ik volg Stijn. |
|
|
|
Gepost op: 06 september 2007 - 11:47 |
|
|
|
HTML beginner
|
|
|
|
Gepost op: 06 september 2007 - 15:07 |
|
|
|
Crew algemeen
|
Op zich handig om een array om te draaien, maar hij bestaat al zoals leendert al aangeeft.
Jij hebt hem waarschijnlijk niet gevonden omdat het array_reverse is en niet array_reverze...
Voor degenen die geinteresseerd zijn in het omkeer algoritme zou het misschien wel leerzaam zijn om jouw functie te bekijken.
Edit:
Een admin hoort een typfout als reverze eigenlijk wel te zien... |
|
|
|
Gepost op: 06 september 2007 - 16:29 |
|
|
|
Beheerder
|
Citaat: Een admin hoort een typfout als reverze eigenlijk wel te zien..
De gebruiker geeft zijn functie een naam. Als hij deze zo wil noemen dan moet hij dit vooral doen. Dus bovenstaande slaat nergens op. |
|
|
|
Gepost op: 06 september 2007 - 16:33 |
|
|
|
Crew algemeen
|
Boukefalos schreef: Op zich handig om een array om te draaien, maar hij bestaat al zoals leendert al aangeeft.
Jij hebt hem waarschijnlijk niet gevonden omdat het array_rever se is en niet array_rever ze...
Voor degenen die geinteresseerd zijn in het omkeer algoritme zou het misschien wel leerzaam zijn om jouw functie te bekijken.
Edit:
Een admin hoort een typfout als reverze eigenlijk wel te zien...
array_reverse is al ingebruik zoals je zelf aangeeft, dus 't is geen typo...
Bovendien, array_reverse is hetzelfde als rsort. De values worden niet van positie gewisseld in de array. Persoonlijk gebruik ik nooit een for lus om een array te doorlopen, maar altijd een foreach! Als je dan een foreach gebruikt heeft de array_reverse functie geen effect om te sorteren op naam bvb (switch tussen ASC/DESC) |
|
|
|
Gepost op: 06 september 2007 - 17:12 |
|
|
|
Crew algemeen
|
Mijn reactie was echt niet bedoeld om jullie af te kraken ofzo hoor.
wimmarien schreef: Bovendien, array_reverse is hetzelfde als rsort.
Als je een array met daarin een 'range' gaat gebruiken wel ja. Probeer dit maar eens:
<?php
$array = array(4, 2, 9, 1, 6);
print_r(array_reverse($array));
rsort($array);
print_r($array);
?>
<?php $array = array(4, 2, 9, 1, 6); ?>
Output schreef: Array
(
[0] => 6
[1] => 1
[2] => 9
[3] => 2
[4] => 4
)
Array
(
[0] => 9
[1] => 6
[2] => 4
[3] => 2
[4] => 1
) array_reverse sorteert het dus helemaal niet...
wimmarien schreef: De values worden niet van positie gewisseld in de array. Dat ligt eraan of je bij array_reverse het tweede argument $preserve_keys mee geeft.
marten schreef: De gebruiker geeft zijn functie een naam. Als hij deze zo wil noemen dan moet hij dit vooral doen.
Niet mee eens... Ik denk dat het alleen maar verwarrend is om een naam te geven die zo veel op de naam van de originele php functie lijkt.
Omdat de array_reverze functie recursief werkt zou ik hem eerder array_reverse_recursive noemen. Maar dat moet je zelf weten. |
|
|
|
Gepost op: 09 september 2007 - 13:39 |
|
|
|
Crew algemeen
|
print_r is een van de wijnige functies waarvoor ik nog nooit op php.net geweest was, en had dus ook geen idee van het bestaan van een 2de parameter |
|
|
|
Gepost op: 14 september 2007 - 00:07 |
|
|
|
PHP ver gevorderde
|
wimmarien schreef: print_r is een van de wijnige functies waarvoor ik nog nooit op php.net geweest was, en had dus ook geen idee van het bestaan van een 2de parameter
Zo'n vermoeden had ik al, daarom wees ik je daar even op ;) Nu weet je het wel en gebruik je de code uit dat voorbeeld hopelijk nooit meer op die manier... |
|
|
|
Gepost op: 14 september 2007 - 11:12 |
|
|
|
Moderator
|
Hm, on a sidenote: Op het moment dat je met (meerdimensionale) arrays aan de slag gaat, ben je in feite (zelf) data-structuren aan het bouwen. Als er de wens is om in "omgekeerde" volgorde door je datastructuur heen te lopen, dan zou je datastructuur hier zelf geschikt voor moeten zijn, in plaats van dat je alle elementen binnen je datastructuur omdraait/verwisselt/... om dit makkelijk te doen. Deze zou van zichzelf zo handig opgezet / ingericht moeten zijn, dat dit eenvoudig kan (loop).
Als de behoefte ontstaat voor dit soort functies, is het misschien verstandig om te kijken of je datastructuur niet wat handiger opgezet kan worden . |
|
|
Enkel aanvullende informatie, vragen en antwoorden op vragen zijn welkom. |
|
|
|