Frage

Ich mag eine Konstante in PHP verwenden, aber ich will es auch in doppelten Anführungszeichen wie eine Variable setzen. Ist das überhaupt möglich?

define("TESTER", "World!");
echo "Hello, TESTER";

gibt offensichtlich „Hallo, TESTER“, aber was ich wirklich will ist so etwas wie:

$tester = "World!";
echo "Hello, $tester";

Ausgänge "Hallo, Welt!".

War es hilfreich?

Lösung

Es tut uns Leid, das ist nicht die Art und Weise Konstanten in PHP arbeiten. Sie können Variablen in doppelten Anführungszeichen und Heredocs setzen, aber keine Konstanten.

Andere Tipps

Ich empfehle Ihnen Verkettung zu verwenden, weil:

  1. Wenn Sie eine Variable in eine doppelte Anführungszeichen Zeichenfolge verwenden, um Ihre Sichtbarkeit ist nicht gut;
  2. Wenn Sie ein doppeltes Anführungszeichen Zeichenfolge die php langsam verarbeiten können;
  3. Sie haben nicht eine Konstante in einen String verwenden, da keine Trennzeichen müssen die PHP weiß, was die Konstante ist.

Verkettungs ist der Weg zu gehen.

Wenn Sie nicht den hokey wollen, böse, ineffizient, bösen Affen Art und Weise aus:

echo preg_replace("/TESTER/",TESTER,$original_content);

Auf keinen Fall, wenn Sie Ihre eigene String-Parsing-Funktion schreiben

Ich habe festgestellt, dass, wenn Punkt-Verkettung einer Konstante ist ein Problem, sprintf mit meinem String zu erhalten, ist in der Regel so, wie ich am Ende gehen.

Alternativ tun

"this is " . MY_CONSTANT

oder

"this is " . constant("MY_CONSTANT");
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top