::vinicius:: Postado Janeiro 7, 2005 Denunciar Share Postado Janeiro 7, 2005 <?$arr = array(1=> "Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro");$a = date("m");echo $a; // Mostra 01 echo $arr[01]; // Mostra Janeiroecho $arr[$a]; // Não mostra nada?>o que está errado?? já tentei colocar aspas simples e tudo, mas nada.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 lemissel Postado Janeiro 7, 2005 Denunciar Share Postado Janeiro 7, 2005 (editado) 01 é o valor n é o índice chama só zeroEditando... falei besteira, desculpa tinha lido errado o código... alias mta besteira desculpa mesmo... Editado Janeiro 7, 2005 por lemissel Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ::vinicius:: Postado Janeiro 7, 2005 Autor Denunciar Share Postado Janeiro 7, 2005 Valeu, lemissel. Não sabia dessa. Coloquei date("n")! Não estou entendendo nada.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kafunga Postado Janeiro 7, 2005 Denunciar Share Postado Janeiro 7, 2005 porque $a n esta dentro do arrray!!..você esta chamando algo q n esta dnetro do array, ai n vai aparecer nada! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ::vinicius:: Postado Janeiro 7, 2005 Autor Denunciar Share Postado Janeiro 7, 2005 Como assim dentro da array? Quando coloco $a = date("m") não aparece nada, mesmo colocando a $arr = array("Erro", "Janeiro",...);Assim, se $a retornasse zero mostraria na tela a mensagem Erro.Porém, quando coloco $a = date("n"), retorna certinho, o mês atual: Janeiro.Por que isso? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 lemissel Postado Janeiro 7, 2005 Denunciar Share Postado Janeiro 7, 2005 Isso meu velho... usa o parâmetro "n" na função date que vai funcionar...n retorna o mês em numero sem zero na frente, e m com zero.. por isso que n funcionava... quando tu chamava o índice 01, ele nunca ia te retornar nada porque teu índice era 0 OU 1 OU 2... e não 00 ou 01... disculpa a confusão... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ::vinicius:: Postado Janeiro 7, 2005 Autor Denunciar Share Postado Janeiro 7, 2005 O que eu não entendi foi que quando eu chamava echo $arr[01]; ele retornava Janeiro normalmente. E quando eu colocava $arr = array("Erro", "Janeiro", ...); e chamava o $arr[$a]; imaginando que ele fosse adotar $a =0, retornaria a mensagem Erro, sacou?por isso que estou confuso... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Illidan Postado Janeiro 7, 2005 Denunciar Share Postado Janeiro 7, 2005 Vinícius, quando você chamava $arr[01], o PHP entende como $arr[1]. Quando você chama $arr[date("m")], o PHP entende que você tá chamando $arr["01"]. Entendeu?Explicando melhor:$a = date("m");A $a não vai ser um inteiro "01", mas sim uma STRING "01". Aí, pra funcionar, você teria que ter um índice string "01" no seu array, o que você não tem (e por isso que dá erro). Então o melhor é converter o valor da $a pra inteiro... você pode fazer isso assim:$a = (int)date("m");Falou! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ::vinicius:: Postado Janeiro 7, 2005 Autor Denunciar Share Postado Janeiro 7, 2005 aaah, Illidan, agora entendi!Valeu pessoal! Vivendo e aprendendo! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kafunga Postado Janeiro 7, 2005 Denunciar Share Postado Janeiro 7, 2005 ata agora eu saquei o esquema, eu tinha pensado em outra coisa!!heheh vivendo e aprendendo! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
::vinicius::
<?
$arr = array(1=> "Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho",
"Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro");
$a = date("m");
echo $a; // Mostra 01
echo $arr[01]; // Mostra Janeiro
echo $arr[$a]; // Não mostra nada
?>
o que está errado?? já tentei colocar aspas simples e tudo, mas nada..
Link para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.