[PHP] regels in .txt bestand door elkaar schudden

Pagina: 1
Acties:
  • 52 views sinds 30-01-2008

  • Noedels
  • Registratie: Augustus 2002
  • Laatst online: 04-09-2021
Hai allen,

Voor jullie waarschijnlijk een simpel op te lossen probleem, voor mij helaas minder simpel.


Ik zoek meteen simpel php script ofzo, om de regels in een .txt bestand door elkaar te schudden!

Probleem wat ik heb, is dat ik een .txt bestand heb met tekstregels, maar deze zijn momenteel gesorteerd op alfabet. Deze wil ik nu ff snel door elkaar geschud hebben, maar dan wel zo dat een regel max. 1x voor komt op een random plek!

Dit lijkt me makkelijk op te lossen, maar ik kon helaas hier op tweaker geen oplossing vinden, netzoals op phpfreakz en uiteraard Google....

Wie kan mij hier even snel mee helpen???

  • iH8
  • Registratie: December 2001
  • Laatst online: 17-06-2024

iH8

bestand inlezen in een array en die dan shufflen en weer wegschrijven?

http://nl3.php.net/manual/en/function.shuffle.php

Aunt bunny is coming to get me!


  • Osiris
  • Registratie: Januari 2000
  • Niet online
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php

$bestand = 'filenaam.txt';

$tekstregels = file($bestand);

shuffle($tekstregels);

$fp = fopen($bestand, 'w');

foreach($tekstregels as $regel)
  fwrite($fp, $regel);

fclose($fp);

?>


Maar dit had je ook allemaal zélf kunnen vinden, ik ben weer eens veel en veels te goed voor deze wereld...

Je mag er zelf achter komen of die $regel van zichzelf al een endline als trailing char heeft.

[ Voor 40% gewijzigd door Osiris op 31-05-2006 02:07 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Hier was inderdaad met een beetje moeite zelf ook wel uit te komen. Even in de manual kijken bij de filesystemfuncties en bij de verschillende random- en shufflefuncties had het probleem al opgelost. Ik mis dus een lading eigen inzet; je vertelt alleen wat je graag wil hebben en dàt je iets geprobeerd hebt, maar daar blijft het ook bij. Dit topic is dan ook alleen op te vatten als een scriptrequest, en die zijn hier niet gewenst: Programming FAQ - Scriptrequests.

Dit topic gaat in elk geval dicht. Met de tips hierboven moet je er wel uit kunnen komen, en met het kant en klare script van Osiris al helemaal. :)
Osiris schreef op woensdag 31 mei 2006 @ 02:06:
Je mag er zelf achter komen of die $regel van zichzelf al een endline als trailing char heeft.
Zelfs dat hoeft niet. :+
Description
array file ( string filename [, int use_include_path [, resource context]] )

Identical to file_get_contents(), except that file() returns the file in an array. Each element of the array corresponds to a line in the file, with the newline still attached.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Dit topic is gesloten.