| Alles für die Homepage... Scripte, Templates, Workshops und Support | |||
|
|||
|
Startseite |
Forum |
Webtemplates |
PHP Scripte
|
|||||||||
|
|
Startseite Artikel / Artikel lesen
Daten einen selbstdefinierten Index zuweisenOft kann es nützlich sein Daten beim speichern einen eigens dafür optimierten Sortierindex zuzuweisen. Einsatzzwecke können sein: Zusammenfassung von Wortlisten (z.B. die Worte die mit A,a,Ä,ä beginnen unter Buchstabe A abzulegen, oder das verschieben von Dateien mit bestimmten Endungen in festgelegte Zielverzeichnisse.1. Beispiel, Begriffen eine Index zuordnenDer unterhalb dargestellte Code verarbeitet ein Array von Daten und weist, je nach Anfangsbuchstabe/Zeichen, diesen einen Index zu. Das in der function notierte $indexarray enthält in dem Assiozativem Array als Key Werte die Testzeichen, als Value den Indexwert.Mittels der substr Funktion wird der das erste Zeichen jedes übergebenen Begriffes ermittelt, danach wird in der while Schleife das Array solange abgearbeitet bis der passende Indexwert gefunden wurde. Für Eingaben die nicht zugeordnet werden können wurde am Schluss ein Defaultindex definiert. CODE: $datei_index = $gefunden == 1 ? $datei_index : '*'; Dieser greift nur wenn nichts im Indexarray gefunden wurde und weist das Zeichen * zu. CODE: <?php
// Beispieldaten die sortiert werden sollen
$eingabe = array('Überraschung', 'Telefon', '9190 8754', '_TXT_');
// Schleife zur Bearbeitung aller Daten
foreach ($eingabe as $values) {
echo "Wert <b>$values</b> wird Index <b>" . indexer($values) . "</b> zugeordnet<br>\n";
}
// Die Indexfunktion
function indexer($wert) {
$indexarray = array(
'1,2,3,4,5,6,7,8,9,0' => '0-9',
'A,a,Ä,ä' => 'A',
'B,b' => 'B',
'C,c' => 'C',
'D,d' => 'D',
'E,e' => 'E',
'F,f' => 'F',
'G,g' => 'G',
'H,h' => 'H',
'I,i' => 'I',
'J,j' => 'J',
'K,k' => 'K',
'L,l' => 'L',
'M,m' => 'M',
'N,n' => 'N',
'O,o,Ö,ö' => 'O',
'P,p' => 'P',
'Q,q' => 'Q',
'R,r' => 'R',
'S,s' => 'S',
'T,t' => 'T',
'U,u,Ü,ü' => 'U',
'V,v' => 'V',
'W,w' => 'W',
'X,x' => 'X',
'Y,y' => 'Y',
'Z,z' => 'Z',
);
$erstes_zeichen = substr($wert, 0, 1);
$gefunden = 0;
while(list($key, $val) = each ($indexarray)){
$keydata = explode(',', $key);
if(in_array($erstes_zeichen, $keydata)) {
$datei_index = $val;
$gefunden = 1;
break;
}
}
$datei_index = $gefunden == 1 ? $datei_index : '*';
return $datei_index;
}
?>Scriptausgabe Wert Überraschung wird Index U zugeordnet Wert Telefon wird Index T zugeordnet Wert 9190 8754 wird Index 0-9 zugeordnet Wert _TXT_ wird Index * zugeordnet Die nächste Seite beschreibt in einem Praxisbeispiel das zuweisen von Zielverzeichnissen für Dateitypen nach Endung. Drucken | Artikel wurde 2786 mal aufgerufen
| ||||||||
| Impressum - Kontakt - Datenschutzerklärung | |||||||||