Obtenir une valeur numérique d'une variable non numérique... [Résolu]

Messages postés
351
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
6 octobre 2010
- - Dernière réponse : genetApt151
Messages postés
30
Date d'inscription
lundi 7 mai 2007
Statut
Membre
Dernière intervention
2 avril 2011
- 3 juil. 2010 à 23:05
Bonjour, j'ai eu beau chercher... je trouve pas mon bonheur...
voilà j'aimerais faire une fonction permetant de transformer une date de :
01-01-2010 en 01-Janvier-2010

$lemois1=array( 1=> "Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Décembre");
// met les mois en lettre
function TransformDate($datea){
list($LeJour,$LeMois,$LAnnee)=explode ('-',$datea); // le "0"= la date, et le "1" le jour

$lolo="";
$lolo=$LeJour."-".$lemois1["$LeMois"]."-".$LAnnee."";
return $lolo;
}


mais bien sûre que le problème vient de : $lemois1["$LeMois"]=> $LeMois n'étant pas numérique, et je ne connais pas la fonction permettant de changer ma variable : en vb on ferait val(...) il doit y avoir quelque chose de similair en php, merci pour votre aide

:)Sator :)

ps: si il ni avait pas de faute d'orthographe dans ce texte, il y a fort à parier que ce texte ne serait pas de moi...
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
341
Date d'inscription
mercredi 17 juillet 2002
Statut
Membre
Dernière intervention
14 juillet 2011
11
3
Merci
Bonjour,

Tu fait un tableau associatif :
<?php
  function transformDate($laDate)
  {
    $lesMois array('01'> 'Janvier',
                     '02' => 'Février',
                     '03' => 'Mars',
                     '04' => 'Avril',
                     '05' => 'Mai',
                     '06' => 'Juin',
                     '07' => 'Juillet',
                     '08' => 'Aout',
                     '09' => 'Septembre',
                     '10' => 'Octobre',
                     '11' => 'novembre',
                     '12' => 'Décembre');

    list($jour, $mois, $annee) = explode('-', $laDate);
    return $jour . '-' . $lesMois[$mois] . '-' . $annee;
  }
  //----------------------------------------------------------------------------
  //----------------------------------------------------------------------------
  //----------------------------------------------------------------------------
  $laDate = '10-06-2010';

  echo transformDate($laDate);
?>


Cordialement.

JC

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 198 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_jeca
Messages postés
351
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
6 octobre 2010
0
Merci
Mais bien sûre....
Je te remercie infiniment.

:)Sator :)

ps: si il ni avait pas de faute d'orthographe dans ce texte, il y a fort à parier que ce texte ne serait pas de moi...
Commenter la réponse de cs_Sator
Messages postés
341
Date d'inscription
mercredi 17 juillet 2002
Statut
Membre
Dernière intervention
14 juillet 2011
11
0
Merci
Un détail : en Français, les noms de mois s'écrivent sans majuscule (valable aussi pour les jours).


Cordialement.

JC
Commenter la réponse de cs_jeca
Messages postés
351
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
6 octobre 2010
0
Merci
Merci pour l'info...


:)Sator :)

ps: si il ni avait pas de faute d'orthographe dans ce texte, il y a fort à parier que ce texte ne serait pas de moi...
Commenter la réponse de cs_Sator
Messages postés
30
Date d'inscription
lundi 7 mai 2007
Statut
Membre
Dernière intervention
2 avril 2011
1
0
Merci
Pour info, pour convertir une chaine en nombre, il existe intval(...) / floatval (...) : http://php.net/manual/fr/function.intval.php
Commenter la réponse de genetApt151