Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

In PHP how to sort a file in reverse?

i have a text (text.txt) file like this:

shir
beer
geer
deer

i have also a php page with that source:

<?php
foreach (glob("*.txt") as $filename) {   
    $file = $filename;
    $contents = file($file); 
    $reverse = array_reverse($file, true);
    $string = implode("<br>" , $contents);
    echo $string;
    echo "<br></br>";
}
?>

I want that in the php page it will show:

deer
geer
beer
shir

from the end of the file to the beginning.
thank you

like image 940
Ronny Avatar asked Feb 27 '23 10:02

Ronny


2 Answers

Looks like you are reversing the file name and not the contents.

Do

$reverse = array_reverse($content); // you can drop 2nd arg.
$string = implode("<br>" , $reverse);

in place of

$reverse = array_reverse($file, true); 
$string = implode("<br>" , $contents);

Also you can remove the temp variables from you script and do:

foreach (glob("*.txt") as $filename) {   
    echo implode("<br>" , array_reverse(file($filename))) . "<br></br>";
}
like image 75
codaddict Avatar answered Mar 06 '23 15:03

codaddict


<?php
foreach (glob("*.txt") as $filename) {   
    $file = $filename;
    $contents = file($file); 
    $reverse = array_reverse($contents, true);
    $string = implode("<br>" , $reverse);
    echo $string;
    echo "<br></br>";
}
?>

Your result was a $contents, without reverse.

like image 27
Alex Pliutau Avatar answered Mar 06 '23 17:03

Alex Pliutau