[PHP] sort () sorteert niet...

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Wat ik wil:
een file openen en de regels sorteren op alfabetische volgorde.

Het probleem:
Als ik met file() het bestand test.txt open wil ik de regels sorteren met sort() krijg ik een een string met een getal er in geprutst als output terug.

Mijn code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?

$array = file("test.txt");

echo "<PRE>";
echo print_r($array);
echo "</PRE>";

$array = sort($array);

echo "<BR>gesorteerd:<BR><PRE>";
echo print_r($array);
echo "</PRE>";

?>


Mijn output:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Array
(
    [0] => 2e Regel

    [1] => 1e Regel

    [2] => 4e Regel

    [3] => 5e Regel

    [4] => 7e Regel

    [5] => 3e Regel

    [6] => 6e Regel
)
1


gesorteerd:

11


Wat ik geprobeerd heb:
[search=PHP sort output nummer]
[search=PHP sort string met nummer als output]
enz.

[search=PHP sort output number]
[google=PHP sort string number output]
enz.

en ben op nl.php.net/sort

Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 11-09 11:19

chem

Reist de wereld rond

void sort ( array array [, int sort_flags])
daar zit je 'probleem'. Lees de manual nog eens heeeeel goed na, je fout zit hier:
PHP:
1
$array = sort($array);

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
/me gaat stil in een hoekje zich zitten schamen

Ik snap hem, had niet goed naar de voorbeeldjes van php gekeken.
het had gewoon:
PHP:
1
2
3
<?
sort($array);
?>


ik zal nooit meer vergeten waar void voor staat.

sorrie... van mij mag deze op slot

Acties:
  • 0 Henk 'm!

Verwijderd

hoe weet je of het void is en wanneer juist niet zonder naar php.net te kijken?
het is soms wel erg lastig..

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

bReEzAh: Hoe weet je dat je "Sort()" moet gebruiken? Dat antwoord is precies hetzelfde antwoord op jouw vraag namelijk.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 03:13
Ik snap trouwens niet waarom je het resultaat van een void-functie doodleuk en zonder waarschuwing kunt assignen aan een variabele. Dat zal wel een PHP-vaagheid zijn ofzo.

Acties:
  • 0 Henk 'm!

Verwijderd

Soultaker schreef op 13 april 2003 @ 02:04:
Ik snap trouwens niet waarom je het resultaat van een void-functie doodleuk en zonder waarschuwing kunt assignen aan een variabele. Dat zal wel een PHP-vaagheid zijn ofzo.
Klopt. Heel vreemd dat de functie-omschrijving 'void' aangeeft, en er in werkelijkheid wel een integer wordt teruggegeven. Waar die 11 voor staat in het bovenstaande voorbeeld snap ik ook niet helemaal (misschien aantal stappen of aantal vergelijkingen?).

Acties:
  • 0 Henk 'm!

  • Mickman
  • Registratie: Juni 2001
  • Laatst online: 27-08 11:32
De functie sort() geeft helemaal niets terug.

Hij sorteert de variabele die meegegeven wordt aan de functie. Dat hij 11 terug krijgt is gewoon het gevolg van een print :)

En hoe je kan zien of een functie void is of niet? kan je niet zien, je zou kunnen gokken aan de hand van de naam van de functie, maar op zich kan je het niet weten. Daarom heb je handleidingen. Hoe kan je iets leren zonder een handleiding. Dat is juist precies wat verkomen moet worden. Hierdoor heb je vaak van die topics met vragen die makkelijk aan de hand van een handleiding te beantwoorden zijn.

En eigenlijk is dit topic ook een gevolg van niet goed lezen. Want bij de functie declaratie staat duidelijk dat het gaat om een 'void'-functie.

Vraag me trouwens af hoeveel functies php nu heeft. Voor elk mogelijk meer ingewikkeld algoritme is tegenwoordig al een functie. Voor de fast-developer een uitkomst?
Pagina: 1