login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Sort () doet raar met Array (Opgelost)

Offline Yourgamecrew - 25/08/2009 16:06 (laatste wijziging 25/08/2009 16:08)
Avatar van YourgamecrewLid hallo allemaal!
Ik heb iets gemaakt voor het op alfabet zetten van namen en cijfers:

Dit is de code:

  1. <?php
  2. $sort1 = array('Hoi', 'Test', 'Nul', 'Avond');
  3. $sort2 = array(10, 2, 11, 8, 7, 1, 50);
  4.  
  5. sort($sort1);
  6. sort($sort2, SORT_NUMERIC);
  7.  
  8. echo "<pre>";
  9. print_r($sort1);
  10. print_r($sort2);
  11. echo "</pre>";
  12. ?>


Alleen krijg ik dan dit:

  1. Array
  2. (
  3. [0] => Avond
  4. [1] => Hoi
  5. [2] => Nul
  6. [3] => Test
  7. )
  8. Array
  9. (
  10. [0] => 1
  11. [1] => 2
  12. [2] => 7
  13. [3] => 8
  14. [4] => 10
  15. [5] => 11
  16. [6] => 50
  17. )


Weet iemand iets waardoor gewoon je dit krijgt? :

Hoi
Test
Nul
Avond

1
2
7
8
10
11
50

10 antwoorden

Gesponsorde links
Offline marten - 25/08/2009 16:09
Avatar van marten Beheerder PHP.net: ksort

of ik begrijp je vraag niet goed
Offline ibmos2warp - 25/08/2009 16:11
Avatar van ibmos2warp PHP interesse die eerste array niet sorten
Offline Yourgamecrew - 25/08/2009 16:16 (laatste wijziging 25/08/2009 17:21)
Avatar van Yourgamecrew Lid @marten:

ja dat bedoel ik alleen nu krijg je de hele tijd a= b= enz dr voor:

  1. <?php
  2. $fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
  3. ksort($fruits);
  4. foreach ($fruits as $key => $val) {
  5. echo "$key = $val\n";
  6. }
  7. ?>


Output:

  1. a = orange
  2. b = banana
  3. c = apple
  4. d = lemon


ook al doe je zonder "a"=> "b"=> enz.
Offline kickasgamer - 25/08/2009 18:43 (laatste wijziging 25/08/2009 18:47)
Avatar van kickasgamer PHP ver gevorderde als je een klein beetje PHP kent dan ga je eens zoeken waart wordt iets geëchoed. Dat is in de foreach lus daar wordt gedaan

  1. echo "$key = $val\n";


en als ge in de foreach kijkt dan ziet ge dat de waarde $key wordt gevult met alles wat in de array voor iedere => staat dus verwijder die $key = en je probleem is opgelost

maar nu zie je eens wat je kan bereiken met logisch nadenken 

EDIT: ook je "s zaten fout bij de echo, ik zou deze code maar gebruiken 

Plaatscode: 137468
Offline Yourgamecrew - 25/08/2009 21:00 (laatste wijziging 26/08/2009 07:24)
Avatar van Yourgamecrew Lid Ja maar het is de bedoeling dat ie zonder die a,b,c,d dr voor ook nog op alfabetische volgorde staat! En met die code van jou doet ie wel zonder a,b,c,d maar krijg ik niet het rijtje:

  1. appel
  2. banana
  3. lemon
  4. orange


maar:

  1. lemon
  2. orange
  3. banana
  4. appel


dus weet iemand nog iets anders??
Offline Esli - 26/08/2009 08:29
Avatar van Esli PHP interesse
  1. <?php
  2.  
  3. $woordjes = array('Boerkes', 'Citroenen', 'Analfabeten', 'Dwazen', 'Ezels', 'Funny');
  4. sort($woordjes);
  5. foreach ($woordjes as &$alfabetisch) {
  6. echo $alfabetisch . '<br/>' . "\n";
  7. }
  8.  
  9. ?>


Output:
  1. Analfabeten
  2. Boerkes
  3. Citroenen
  4. Dwazen
  5. Ezels
  6. Funny
Offline Yourgamecrew - 26/08/2009 17:18 (laatste wijziging 27/08/2009 08:14)
Avatar van Yourgamecrew Lid @ Esli
Bedankt voor het script!!! Weet iemand ook hoe je elk woord in een aparte tabel zet zoals dit voorbeeld (maar dat je dan alsnog het op volgorde kan zetten):


http://game.pivotroarmovies.com/test.htm

En weet iemand ook dat als je op de link klikt dat ie gaat sorteren (zie voorbeeld)?
Offline Tuinman - 27/08/2009 09:12
Avatar van Tuinman Nieuw lid @Yourgamecrew

kijk hier eens naar http://tablesorter.com/docs/ dat is een plugin vor jquery die het mogelijk maakt om je rows te sorteren naar input van de gebruiker.

Greetz
Offline Esli - 27/08/2009 17:10
Avatar van Esli PHP interesse Ik begrijp niet 100% wat je wilt, maar ik denk dat je dit wilt:

  1. <?php
  2. $woordjes = array('Boerkes', 'Citroenen', 'Analfabeten', 'Dwazen', 'Ezels', 'Funny');
  3.  
  4. if(empty($_GET['orden']))
  5. {
  6. echo '<table border="1">';
  7. foreach ($woordjes as &$woord)
  8. {
  9. echo '<tr><td>' . $woord . '</td></tr>' . "\n";
  10. }
  11. echo '</table>';
  12. echo '<br/>Klik <a href="sort.php?orden=alfabetisch">hier</a> voor een alfabetische ordening.' . "\n";
  13. }
  14. elseif($_GET['orden']=='alfabetisch')
  15. {
  16. sort($woordjes);
  17. echo '<table border="1">';
  18. foreach ($woordjes as &$alfabetisch)
  19. {
  20. echo '<tr><td>' . $alfabetisch . '</td></tr>' . "\n";
  21. }
  22. echo '<table>';
  23. echo '<br/>Klik <a href="sort.php">hier</a> voor een willekeurige ordening.' . "\n";
  24. }
  25. else
  26. {
  27. echo 'De ordening die u koos bestaat niet!';
  28. }
  29. ?>


Wanneer een persoon op http://domeintje.ext/sort.php gaat krijgt deze een willekeurige volgorde voorgeschoteld. Klikt hij dan op de link om alfabetisch te ordenen, dan zal hij / zij dat ook krijgen. De link zal dan sort.php?ordern=alfabetisch zijn. Wanner hij / zij opnieuw kiest voor willekeurig krijgt die weer sort.php. Wanneer hij / zij een gemenerik is en probeert vals te spelen door sort.php?orden=Stouterik zal hij / zij een error krijgen dat die ordernmethode niet bestaat. (Sjonge wat een uitleg voor zo'n simpel script )
Offline Yourgamecrew - 27/08/2009 17:23 (laatste wijziging 27/08/2009 17:25)
Avatar van Yourgamecrew Lid Voor iedereen die dit ook wil en wil weten wat het script nou is kijk maar in de javascript scripts!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.219s