2009-10-14 8 views
16

Voglio usare una costante in php, ma voglio anche inserirla tra virgolette doppie come una variabile. È possibile?citando le costanti in php: "questo è un MY_CONSTANT"

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

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

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

delle uscite.

+1

[qui è un indizio di un altro modo interessante per espandere COSTANTI in php heredoc notazione] (http: //www.php. net/manual/en/function.define.php # 100449) –

risposta

14

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

+1

Le costanti non funzionano in questo modo. Ma ci deve essere una soluzione per questo ........ – Bik

1

nessun modo, a meno che non si scrive il proprio funzione di stringa parsing

1

Ho scoperto che quando la concatenazione dei punti di una costante è un problema, usare sprintf per ottenere la mia stringa è solitamente il modo in cui voglio andare alla fine.

5

Vi consiglio di utilizzare la concatenazione causa:

  1. Quando si utilizza una variabile in una stringa virgolette la visibilità non è buona;
  2. Quando si utilizza una doppia virgoletta, il php può elaborare lentamente;
  3. Non si usa una costante in una stringa, perché non hanno alcun delimitatore per il php sa qual è la costante.
+2

4. È più facile inserire l'HTML nelle stringhe perché non è necessario mantenere l'escape delle virgolette. (So ​​che puoi attribuire valori di attributo a virgoletta singola ma l'OCD in me lo odia!) – DisgruntledGoat

+1

1. Dipende dall'evidenziazione della sintassi. 2. È vero il contrario in alcuni ambienti e versioni (in 6, si dice che sia altrettanto veloce o più veloce). 3. Valido. –

+0

1. La visibilità è scarsa se si utilizza un editor di testo molto semplice. Personalmente trovo che la sintassi in eccesso porti a una cattiva visibilità. 2. Forse un passo di analisi più lento in alcune versioni, stessa velocità di esecuzione. – Matthew

3

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);