Frage

Ich arbeite mit Drupal derzeit und sie haben dieses Ding mit Render-Arrays.Sie setzen Pfundschlüssel vor den Konfigurationsindizes ihrer Render-Arrays, die dann von den Render-Funktionen verwendet werden.

aber!Das Problem hat nichts mit Drupal zu tun.Der Code, den ich in den nächsten Linien bereitgestellte, ist völlig unabhängig von jeder PHP-Anwendung.Vanille PHP, wie manche sagen würde.

generasacodicetagpre.

Ausgabe lautet:

generasacodicetagpre.

Der erwartete Ausgang wäre:

generasacodicetagpre.

Bin ich hier nicht etwas sehe? Ist das nur etwas wirklich unangenehmes Falsches in PHP?

wäre großartig, von euch zu hören, Jungs.

func0der

update ------ >>

Ich verwende PHP 5.3.27 von MAMP. Und probiert es hier: http://writecodeonline.com/php/ Die gleichen Ergebnisse beides.

War es hilfreich?

Lösung

Ihr Code gibt mir die gewünschte Ausgabe.Ich vermute, es gibt etwas in der Umgebung, die es durcheinander bringt.Oder Sie haben einen Fehler gemacht es oder so etwas kopieren.

-Endit -

Schlussfolgerung von Kommentaren unten: ISSET ist Buggy in 5.3 und vorheriger.Fest In 5.4.Von php.net:

nicht numerische String-Offsets - z.B.$ a ['foo'], wo $ a eine Zeichenfolge ist - jetzt falsche Isset () und true auf leer (), und produzieren Sie ein E_Warning, wenn Sie versuchen, sie zu verwenden.Offsets von Typen doppelt, bool und null produzieren ein e_notice.Numerische Zeichenfolgen (z. B. $ A [2 ']) Arbeit wie zuvor.Beachten Sie, dass Offsets wie '12 .3 'und' 5 Fooobar 'als nicht numerisch betrachtet werden und erzeugen Sie ein E_Warning, werden jedoch nach hinten in 12 bzw. 5 umgewandelt Kompatibilitätsgründen.Hinweis: Der folgende Code gibt ein anderes Ergebnis zurück.$ str= 'abc'; var_dump (isset ($ str ['x']));// False für PHP 5.4 oder höher, aber true für 5,3 oder weniger

Andere Tipps

Nichts ist falsch, Ihre Erwartung stimmt nicht mit, wie PHP funktioniert.

Wenn Sie möchten, dass die Werte "Titel" und "Type" als Paare behandelt werden sollen, müssen Sie sie irgendwie zusammenschließen (nicht nur "Legen Sie sie nebeneinander").Eine Möglichkeit, das zu tun, wäre, ein anderes Array um jedes Paar umzuwickeln, was zu Ihrer erwarteten Ausgabe führen würde.Sie tun dies bereits für das Facebook / Input-Paar, also entfernen Sie den Rest der Daten die Ausgabe, die Sie erwarten:

generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top