Pregunta

Quiero utilizar una constante en PHP, pero también quiero ponerlo entre comillas dobles como una variable. Es en absoluto posible?

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

obviamente da salida a "Hola, TESTER", pero lo que realmente quiero es algo como:

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

salidas "Hola, mundo!".

¿Fue útil?

Solución

Lo siento, eso no es la forma de trabajo constantes en PHP. Usted puede poner las variables entre comillas dobles y heredocs pero no constantes.

Otros consejos

Te recomiendo usar la concatenación ya que:

  1. Cuando se utiliza una variable en una cadena entre comillas dobles su visibilidad no es buena;
  2. Cuando se utiliza una cadena entre comillas dobles del PHP puede procesar lentamente;
  3. No utilizar una constante en una cadena, porque no tienen ningún delimitador para el php sabe lo que es la constante.

La concatenación es el camino a seguir.

A menos que usted desea que la forma hokey, desagradable, ineficiente, mal mono de:

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

ninguna manera, a menos que usted escribe su propia función de análisis de cadenas

He encontrado que cuando las punto-concatenación de una constante es un problema, usando sprintf para conseguir mi cadena es por lo general la forma en que quiero ir al final.

Alternativamente, hacer

"this is " . MY_CONSTANT

o

"this is " . constant("MY_CONSTANT");
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top