Pergunta

Eu quero usar uma constante em PHP, mas eu também quero colocá-lo dentro de aspas duplas, como uma variável.Isso é possível?

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

obviamente saídas "Olá, TESTER", mas o que eu realmente quero é algo como:

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

saídas de "Hello, World!".

Foi útil?

Solução

Desculpe, essa não é a maneira constantes no PHP funciona.Você pode colocar as variáveis em aspas duplas e heredocs mas não constantes.

Outras dicas

Eu recomendo você para usar concatenação porque:

  1. Quando você usa uma variável em uma string de citações duplas, sua visibilidade não é boa;
  2. Quando você usa uma string de citações duplas, o PHP pode processar lentamente;
  3. Você não usa uma constante em uma string, porque não tem nenhum delimitador para o PHP sabe o que é a constante.

Concatenação é o caminho a percorrer.

A menos que você queira a maneira Hokey, desagradável, ineficiente e maligna de:

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

de jeito nenhum, a menos que você escreva sua própria função de análise de string

Descobri que, quando a concatenação do ponto de uma constante é um problema, usar o sprintf para obter minha string geralmente é o jeito que eu quero ir no final.

Como alternativa, faça

"this is " . MY_CONSTANT

ou

"this is " . constant("MY_CONSTANT");
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top