Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia.
Quando tento desmembrar o resultado de date() usando as variáveis, usando o código abaixo:
$aux = date(d)."/".date(m)."/".date(Y); // aqui $aux = 05/11/17
Estou recebendo no arquivo error_log mensagens como esta abaixo
PHP Notice: Use of undefined constant d - assumed 'd'
Como faço para evitar que essa mensagem seja gravada?
Olá gelli. Seja bem-vindo ao fórum!
Amigo, leia o erro que o PHP está te indicando... "uso de constante indefinida d - 'd' assumido".
O que seria essa constante? Veja: http://php.net/manual/pt_BR/language.constants.php
"Identificador (nome) para valor único".
Exemplo de uso:
<?php
//geralmente as constantes são escritas DESSA_FORMA
//uma vez que seu valor é definido, ele não pode mais mudar
//http://php.net/manual/pt_BR/function.define.php
define( 'SAUDACAO_AO_USUARIO', 'Olá' );
//exemplo de uso:
echo SAUDACAO_AO_USUARIO . ', Joao!';//resultado: Olá, Joao!
Note que ao utilizarmos constantes, não utilizamos aspas ao redor para chamá-las, nem o uso do cifrão ($).
Agora relendo o erro... "uso de constante não definida", significa que você escreveu dentro do parâmetro da função date um nome (sem cifrão e que não está ao redor de aspas), que no PHP significa que deveria ser uma constante, mas você não definiu essa constante, pois o que você queria era passar como parâmetro apenas a letra d.
Agora veja o manual da função date: http://php.net/manual/pt_BR/function.date.php
O primeiro parâmetro dessa função, que é o único obrigatório, deve ser uma string. E como escrevemos strings no PHP?
https://secure.php.net/manual/pt_BR/language.types.string.php
>
Citar
A maneira mais simples de se especificar uma string é delimitá-la entre aspas simples (o caractere ').
Ou seja, basta você colocar dentro de aspas, que será uma string. Se não tiver aspas, será uma constante... e se não tiver aspas, mas começar com um cifrão, será uma variável.
E como o seu código estava funcionando mesmo assim? Aí vem a segunda parte do erro: assumido 'd'.
O PHP não encontrou a tal da constante d, então ele automaticamente transformou aquilo em uma string pra facilitar sua vida, mas isso está errado e eu acho que o PHP não deveria funcionar dessa forma, pois confunde os novos usuários...
Resumindo tudo para chegarmos onde realmente importa pra você: você precisa colocar aspas ao redor dos seus parâmetros, assim: