Domanda

Voglio usare una costante in PHP, ma voglio anche ad inserirlo all'interno virgolette doppie come una variabile. È questo a tutto il possibile?

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

Uscite ovviamente "Ciao, tester", ma quello che voglio veramente è qualcosa di simile:

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

uscite "Ciao, mondo!".

È stato utile?

Soluzione

Siamo spiacenti, non è il modo in cui le costanti nel lavoro PHP. È possibile inserire le variabili tra virgolette e heredocs ma non costanti.

Altri suggerimenti

Vi consiglio di utilizzare la concatenazione perché:

  1. Quando si utilizza una variabile in una stringa virgolette la visibilità non è buona;
  2. Quando si utilizza una stringa di citazioni doppio del PHP può elaborare lentamente;
  3. non si utilizza una costante in una stringa, perché non hanno alcun delimitatore alla php sa che cosa è la costante.

La concatenazione è la strada da percorrere.

A meno che non si desidera che il, brutto, inefficiente, modo scimmia male hokey di:

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

nessun modo, a meno che non si scrive la propria funzione di parsing della stringa

Ho trovato che quando dot-concatenazione di una costante è un problema, utilizzando sprintf per ottenere la mia stringa di solito è il modo in cui voglio andare alla fine.

In alternativa, fare

"this is " . MY_CONSTANT

o

"this is " . constant("MY_CONSTANT");
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top