CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
05.08.2016, 21:17:12
|
Anfänger
|
|
Registriert seit: May 2016
Alter: 30
Beiträge: 33
|
|
usort - Array
Guten Abend,
ich stoße auf ein kleines Problem beim Sortieren eines multidimensionalen Arrays.
Die Sortierung ASC/DESC funktioniert hervorragend bis Sonderzeichen erscheinen.
Array Aufbau:
PHP-Code:
array (size=75)
40 =>
array (size=5)
0 => string '55' (length=2)
1 => string '5.186.*' (length=17)
2 => string '109' (length=3)
3 => string '***' (length=32)
4 => string 'Abdul' (length=5)
9 =>
array (size=5)
0 => string '15' (length=2)
1 => string '188.32.*' (length=18)
2 => string '79' (length=2)
3 => string '***' (length=32)
4 => string 'Aganemnum' (length=9)
12 =>
array (size=5)
0 => string '56' (length=2)
1 => string '84.129.*' (length=19)
2 => string '109' (length=3)
3 => string '***' (length=32)
4 => string 'Alex (2)' (length=8)
3 => ...
Value[4] ist der String nach dem sortiert werden soll.
Ausgegeben wird aber folgendes:
https://abload.de/img/error_01fhzdv.png
https://abload.de/img/error_02ukllr.png
Sobald Sonderzeichen im Name auftreten beginnt die komplette Sortierung
erneut. Wie man im Bild sieht beginnt sie nach dem [ ] wieder von A nach Z.
PHP-Code:
usort($players, function($a, $b)
{
preg_replace("/[^0-9a-zA-Z]/", "", $a);
preg_replace("/[^0-9a-zA-Z]/", "", $b);
if($_SESSION['tmp_sort_player'] == 1) return $a[4] <=> $b[4];
elseif($_SESSION['tmp_sort_player'] == 2) return $b[4] <=> $a[4];
});
Wie kann ich das denn verhindern?
Ich filtere alle Zeichen raus und trotzdem ist die Sortierung fehlerhaft?!
|
06.08.2016, 10:04:32
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: usort - Array
Alles im grünen Bereich.
Beschäftige Dich mit der Zeichencodierung. Sie definiert 128 Zeichen, bestehend aus 33 nicht druckbaren sowie 95 druckbaren Zeichen. Letztere sind, beginnend mit dem Leerzeichen:
Zitat:
!"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
`abcdefghijklmnopqrstuvwxyz{|}~
|
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
06.08.2016, 14:02:12
|
Anfänger
|
|
Registriert seit: May 2016
Alter: 30
Beiträge: 33
|
|
AW: usort - Array
Ja werde ich tun, aber die Sortierung ergibt trotzdem keinen Sinn.
Mit preg_replace bleiben lediglich Buchstaben und Zahlen im String
übrig, d.h. die Sortierung müsste in dem Fall doch zu 100% funktionieren.
Wieso fängt die Ausgabe denn irgendwo mittendring wieder bei A an?
Das ist mir noch ein Rätsel..
Wie gesagt, ich entferne die Sonderzeichen ja vor dem Lesen.
|
06.08.2016, 16:20:38
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: usort - Array
Wie soll denn Deiner Meinung die Sortierung aussehen?
In Deinem ersten Bild hast Du keine kleinen Buchstaben (a-z), daher ist es Dir nicht aufgefallen. Die Reihenfolge ist Sonderzeichen Teil 1 (siehe unten, nicht alle, nur die die vor 0 liegen), 0-9, Sonderzeichen Teil 2 (siehe unten, nicht alle, nur die die zwischen 9 und A liegen), A-Z, Sonderzeichen Teil 3 (siehe unten, nicht alle, nur die die zwischen Z und a liegen), a-z und restliche Sonderzeichen.
Wenn Du alle Sonderzeichen vorher eleminierst ist die Reihenfolge 0-9, A-Z und a-z.
Verständlicher?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
06.08.2016, 17:56:09
|
Anfänger
|
|
Registriert seit: May 2016
Alter: 30
Beiträge: 33
|
|
AW: usort - Array
0-9, A-Z, a-z
Ja die Groß- und Kleinschreibung habe ich völlig ignoriert.
Ist mir gleich gar nicht aufgefallen...
Manchmal sieht man den Wald vor lauter Bäumen nicht!
PHP-Code:
usort($players, function($a, $b) { if($_SESSION['tmp_sort_player'] == 1) return strtolower($a[4]) <=> strtolower($b[4]); elseif($_SESSION['tmp_sort_player'] == 2) return strtolower($b[4]) <=> strtolower($a[4]); });
Habe es geändert und es funktioniert wie erwartet!
Vielen Dank!
|
06.08.2016, 18:28:02
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: usort - Array
Gern geschehen - dafür sind wir hier ...
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 15:53:00 Uhr.
|