Re: GLOB sort order

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Georgi Ivanov wrote:
On Tuesday 22 November 2005 11:41, Mark Lucas wrote:

Can anyone help me please? I'm not an advanced PHP user!

I'm looing for a way to sort the array returned by the GLOB function. I
would like to be able to sort the result by filemtime.

Any good ideas?


I think you can walk the array returned by glob and create a hash :
$arr=glob(..);
foreach($arr as $file){

// you can also write this like so, sometimes useful for keeping code
compact and minimizing variable usage:
foreach(glob(/* bla bla */) as $file) {

	$stat=stat($file);
	$mtime=$stat[mtime];

// don't forget to use quotes!:

$mtime=$stat['mtime'];

	$new[$file]=$mtime;
}

Now you should have array like this :
foo.txt => 19879823
foo1.txt => 1987987998
Now you can use array_sort function to sort the new  array.

array_multi_sort() is a slightly different way of doing the same thing,
sometimes handy when you need to be able to switch between different
sort orders:

$mFilesFound = glob(/* bla bla */);
foreach ($mFilesFound as $file) {
	$mTimes[] = filemtime($file);
}
array_multisort($mTimes, SORT_DESC, $mFilesFound);



Good luck.

Thanks,

   Mark


___________________________________________________________________________
__



     St John's Church, Polegate - Making Disciples of Jesus Christ

___________________________________________________________________________
__



This email is intended solely for the addressee and is strictly
confidential.

If you are not the addressee please delete the message from your computer.



--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux