2009-10-14 9 views
16

Quiero usar una constante en php, pero también quiero ponerlo entre comillas dobles como una variable. ¿Es esto posible?cotizando constantes en php: "this is a MY_CONSTANT"

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

obviamente salidas "Hola, TESTER", pero lo que realmente quiero decir algo como: "¡Hola, mundo"

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

ouputs.

+1

[He aquí una pista acerca de otra forma interesante de ampliar constantes en la notación heredoc php] (http: //www.php. net/manual/es/function.define.php # 100449) –

Respuesta

14

Lo sentimos, esa no es la forma en que las constantes en la obra de PHP. Puede poner variables entre comillas dobles y heredas pero no constantes.

+1

Las constantes no funcionan de esta manera. Pero debe haber una solución para esto ........ – Bik

1

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

1

He encontrado que cuando la concatenación de puntos de una constante es un problema, el uso de sprintf para obtener mi cadena generalmente es la forma en que quiero ir al final.

5

Te recomiendo usar la concatenación porque:

  1. Cuando se utiliza una variable en una cadena entre comillas dobles que su visibilidad no es buena;
  2. Cuando utiliza una cadena de comillas dobles, el php puede procesar lentamente;
  3. No utiliza una constante en una cadena, porque no tiene ningún delimitador para que php sepa cuál es la constante.
+2

4. Es más fácil poner HTML en cadenas porque no tiene que seguir escapando de las comillas dobles. (Sé que puedes hacer una sola cita de los valores de los atributos, pero el OCD en mí odia eso!) – DisgruntledGoat

+1

1. Depende del resaltado de la sintaxis. 2. Lo contrario es cierto en algunos entornos y versiones (en 6, se rumorea que es igual de rápido o más rápido). 3. Válido. –

+0

1. La visibilidad es escasa si usa un editor de texto muy básico. Personalmente encuentro que la sintaxis excesiva conduce a una mala visibilidad. 2. Tal vez un paso de análisis más lento en algunas versiones, la misma velocidad de ejecución. – Matthew

3

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