Jump to content
Fórum Script Brasil
  • 0

retorno data


MTavares
 Share

Question

Olá colegas.

Eu tenho a seguinte data no banco:

14 de Julho de 2012

Trago a data do banco para o site:

$dataNascimento = explode("de",$mtDados->DataNascimento);
Agora quero fazer a comparação do mês do banco (Julho) com o mês do site (07):
switch($dataNascimento[1]){
                                 case "Janeiro" : $mesNascimento = "01"; break;
                                 case "Fevereiro" : $mesNascimento = "02"; break;
                                 case "Março" : $mesNascimento = "03"; break;
                                 case "Abril" : $mesNascimento = "04"; break;
                                 case "Maio" : $mesNascimento = "05"; break;
                                 case "Junho" : $mesNascimento = "06"; break;
                                 case "Julho" : $mesNascimento = "07"; break;
                                 case "Agosto" : $mesNascimento = "08"; break;
                                 case "Setembro" : $mesNascimento = "09"; break;
                                 case "Outubro" : $mesNascimento = "10"; break;
                                 case "Novembro" : $mesNascimento = "11"; break;
                                 case "Dezembro" : $mesNascimento = "12"; break;
                                }
O mês <?php echo $mesNascimento; ?> corresponde ao mês 07. Só que a variável $mesNascimento volta nulo. Porém se eu fizer dessa forma (forçando):
$mes = "Julho"; 
                            switch($mes){
                                 case "Janeiro" : $mesNascimento = "01"; break;
                                 case "Fevereiro" : $mesNascimento = "02"; break;
                                 case "Março" : $mesNascimento = "03"; break;
                                 case "Abril" : $mesNascimento = "04"; break;
                                 case "Maio" : $mesNascimento = "05"; break;
                                 case "Junho" : $mesNascimento = "06"; break;
                                 case "Julho" : $mesNascimento = "07"; break;
                                 case "Agosto" : $mesNascimento = "08"; break;
                                 case "Setembro" : $mesNascimento = "09"; break;
                                 case "Outubro" : $mesNascimento = "10"; break;
                                 case "Novembro" : $mesNascimento = "11"; break;
                                 case "Dezembro" : $mesNascimento = "12"; break;
                                }

Ele retorna corretamente.... Alguém sabe o porque isso acontece e uma solução? pois sinceramente não sabia que o switch não lia arrrays.

Obrigado.

Edited by MTavares
Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Ao converter sua string em um array. você está jogando espaços em branco nos valores do array.

Remova os espaços em branco que vai dar certo.

$date = '14 de Julho de 2012';

$date = preg_replace('/\s+/', '', $date); //Remove todos os espaços contidos na string

$dataNascimento = explode('de', $date);

switch($dataNascimento[1]) {
    case "Janeiro" :
        $mesNascimento = "01";
        break;
    case "Fevereiro" :
        $mesNascimento = "02";
        break;
    case "Março" :
        $mesNascimento = "03";
        break;
    case "Abril" :
        $mesNascimento = "04";
        break;
    case "Maio" :
        $mesNascimento = "05";
        break;
    case "Junho" :
        $mesNascimento = "06";
        break;
    case "Julho" :
        $mesNascimento = "07";
        break;
    case "Agosto" :
        $mesNascimento = "08";
        break;
    case "Setembro" :
        $mesNascimento = "09";
        break;
    case "Outubro" :
        $mesNascimento = "10";
        break;
    case "Novembro" :
        $mesNascimento = "11";
        break;
    case "Dezembro" :
        $mesNascimento = "12";
        break;
}

echo $mesNascimento;
//Irá imprimir 07

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.9k
    • Total Posts
      648.8k
×
×
  • Create New...