Mensen,

Ik ben op zoek naar hoe ik een array moet sorteren en kom er niet uit.

Deze code:

$dit = new RecursiveDirectoryIterator($dir,RecursiveDirectoryIterator::SKIP_DOTS);
$rit = new RecursiveIteratorIterator($dit);
$sit = new ExampleSortedIterator($rit);
foreach ($sit as $file)
	{

	$bestand = $file->getFilename();
	$bestand = str_replace(".jpg", "", $bestand);
	

echo $bestand;

}
?>


Geeft als resultaat: 0 1 10 11 12 2 3 4 5 6 7 etc maar moet hem krijgen op 0 1 2 3 4 5 6 7 8 9 10.

Heb al diverse sort() en usort() opties geprobeerd maar tevergeefs :(

Wat zie ik over het hoofd?

Des
Niet getest.

<?php

$dit = new RecursiveDirectoryIterator($dir,RecursiveDirectoryIterator::SKIP_DOTS);
$rit = new RecursiveIteratorIterator($dit);
$sit = new ExampleSortedIterator($rit);

$test = array();

foreach ($sit as $file) {

$test[] = str_replace(".jpg", "", $file->getFilename());

}

$test = natsort($test);

foreach ($test as $bestandje) {

echo $bestandje . '<br>';

}

?>
Geeft helaas een lege output :(

Thanks voor de moeite!

Des
En als je deze regel weglaat:

$test = natsort($test);
Dan krijg ik direct output maar wederom in de volgorde: 0 10 11 12 13 2 3 4 5 6 7 8 9
Voeg waar eerst dit stond

$test = natsort($test);

daarvoor in de plaats eens dit toe:

sort($test, SORT_NUMERIC);
Natsort geeft geen array terug, maar moet gewoon gebruikt worden als:
<?php
natsort($test);
?>
YES! Heel erg bedankt Ozzie PHP! fijne avond :):):)
You're welcome ;-)
$test = natsort($test);

moet zijn:
natsort($test);

Reageren