Abfrage gibt unerklärlich false zurück - Woran liegt das?

  • Hey,


    ich habe mehrere HTML Elemente mit je einer Bezeichnung und einem Link.


    Nun ist mein Ziel, anhand den Bezeichnungen, die Links ab einer bestimmten Fenstergröße zu ändern. Dies funktioniert auch soweit bis auf bei einem Element was ich nicht verstehen kann.


    Die Bezeichnungen der Elemente lauten:

    • Anniversary
    • GEPRC GEP-MSX3 Sparrow

    Diese Daten kommen von einem PHP-Script zu der Twig-Datei welche das HTML mit den Daten vom PHP-Script ausgibt.


    Nun wird nur bei dem Element GEPRC GEP-MSX3 Sparrow die Funktion nicht ausgeführt. Ich habe dort bereits Vergleiche gemacht nur immer wenn ich prüfe ob $bezeichnung["name"] == "GEPRC GEP-MSX3 Sparrow" kommt false zurück. Im PHP-Script sowie in der Twig-File.


    Wenn ich $bezeichnung["name"] ausgebe bekomme ich folgendes angezeigt: GEPRC GEP-MSX3 Sparrow


    Zwischen dem und dem Prüfungsstring ist überhaupt kein Unterschied. Nur bei If-Statements wird trotzdem nicht ins if gesprungen. Bedeutet, dass dort irgendwas unterschiedlich ist.


    Nur was?


    __

    Anbei sind noch 2 Bilder.

  • Hey,


    danke für deine Antwort.


    Mit trim() habe ich es auch schon probiert. Ich habe es nun nochmal getestet. Da wird auch alles gleich ausgegeben:


    echo "*****" . $bezeichnung['name'] . "****";

    *****GEPRC GEP-MSX3 Sparrow****


    echo "*****" . trim($bezeichnung['name']) . "****";
    *****GEPRC GEP-MSX3 Sparrow****

  • Hi Sempervivum,


    Warum sollte ich mir dort die Binärwerte des Strings anschauen? Verstehe ich gerade nicht wie diese mich weiterbringen können.


    Hier sind die Binärwerte:

  • Zitat

    Warum sollte ich mir dort die Binärwerte des Strings anschauen? Verstehe ich gerade nicht wie diese mich weiterbringen können.

    Weil die Strings ja von PHP offensichtlich als unterschiedlich erkannt werden, muss es einen Unterschied geben, der in der String-Ansicht nicht sichtbar ist.

    Die Leerzeichen liegen bei Position 5 und 14. Bei Position 5 sehe ich eine 32 wie erwartet. Bei 14 jedoch nicht. Außerdem sehe ich, dass 22 Bytes ausgegeben werden, obwohl der String nur 21 Zeichen hat. Möglicher Weise hat sich da so etwas wie ein geschütztes Leerzeichen versteckt oder etwas ähnliches.