PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : array nach substring sortieren


ursman
13.09.2011, 13:43:36
Guten Tag

Ich möchte für eine Fotogallerie das nachfolgende Arrey sortieren.

- Nach den ersten beiden Zeichen (Jahrzahl) absteigend, (neue Jahrzahl oben).
- Gleiche Jahrzahlen nach nachfolgenden Zeichen aufsteigend.

Wie geht das?

Besten Dank für Hilfe
ursman

<?php

$anl[0]="10071000 Bachläger Aufbau";
$anl[1]="10070400 Bachlägerchilbi";
$anl[2]="10070700 Dorffest";
$anl[3]="10071400 Dorffest";
$anl[4]="10071600 Pfingstegg";
$anl[5]="10072500 Scheidegg";
$anl[6]="10080100 Augustfeier";
$anl[7]="10091200 Lauterbrunnen";
$anl[8]="10091900 Buuresunntag";
$anl[9]="10103000 Wallis";
$anl[10]="10103100 Wallis";
$anl[11]="10103101 Wallis";
$anl[12]="11061900 Interlaken";
$anl[13]="11070200 Bachläger Aufbau";
$anl[14]="11070300 Bachlägerchilbi";
$anl[15]="11091100 Aellflueh";

?>

DokuLeseHemmung
13.09.2011, 14:21:58
usort()

ursman
14.09.2011, 15:05:25
Besten Dank erst mal

Mit usort() alleine habe ich es irgendwie nicht hin gekriegt. Habe mir nun selber etwas zurechgebastelt. Das ist wohl kaum Weisheit letzter Schluss, aber für meinen Zweck genügt es, wenn die Daten vorsortiert sind.

Gruss
ursman


<?php
include "anlassdatei.php";

$anz = count($anl);

for($j=date("y");$j>=10;$j--) // Jahrzahlzähler rückwärts
{
echo "<br/>Jahr 20".$j."<br/>"; // Titel für Gruppe pro Jahr

for($i=0;$i<$anz;$i++)
{
$jz=substr($anl[$i],0,2); // Jahrzahl extrahieren

$z=0;

if($jz==$j) // wenn Jahrzahl==Jahrzahlzähler
{
$liste[$z]=$anl[$i];
$litxt[$z]=substr($liste[$z],4,2).".".substr($liste[$z],2,2).".".substr($liste[$z],8,17);
$linum[$z]=substr($liste[$z],0,8);

echo $linum[$z]." ".$litxt[$z]."<br/>";
$z++;
}
}
}

?>