Médiaforma

PHP MySQL – Exercice sur les fonctions strpos() et substr()

Print Friendly

En utilisant les fonctions strpos() et substr() et en vous aidant de la documentation en ligne, écrivez quelques lignes de code pour extraire chacun des éléments de date et heure de la chaîne suivante :

$dateEtHeure = "15 Juin 2014 20:12:15";

Solution

Faites une pause dans la vidéo et écrivez le code demandé. Vous pourrez continuer une fois le code entièrement écrit pour comparer votre solution et la mienne.

La fonction strpos va être utilisée à plusieurs reprises pour connaître la position des caractères séparateurs (espace et « : »).

La position du premier espace est mémorisée dans la variable premierBlanc.

La position du deuxième espace est mémorisée dans la variable deuxiemeBlanc. Remarquez l’utilisation du troisième paramètre dans la fonction strpos qui indique la position à partir de laquelle doit se faire la recherche.

Une technique similaire permet de trouver la positrion du troisième espace. Mais cette fois-ci, la recherche commence après le deuxième espace.

D’une façon tout à fait comparable, on trouve la position des premier et deuxième caractères « : ».

Une fois les positions des caractères séparateurs connues, il suffit d’extraire les informations à isoler avec la fonction substr() et de les afficher avec des instructions echo. Cela ne présente aucune difficulté puisque les positions des caractères séparateurs sont connues.

<?php
  $dateEtHeure = "15 Juin 2014 20:12:15";
  $premierBlanc = strpos($dateEtHeure," ");
  $deuxiemeBlanc = strpos($dateEtHeure," ",$premierBlanc+1);
  $troisiemeBlanc = strpos($dateEtHeure," ",$deuxiemeBlanc+1);
  $premierDeuxPoints = strpos($dateEtHeure,":");
  $deuxiemeDeuxPoints = strpos($dateEtHeure,":",$premierDeuxPoints+1);
  echo "Jour = ".substr($dateEtHeure,0,$premierBlanc)."<br>";
  echo "Mois = ".substr($dateEtHeure,$premierBlanc+1, $deuxiemeBlanc-$premierBlanc)."<br>";
  echo "Année = ".substr($dateEtHeure,$deuxiemeBlanc+1, $troisiemeBlanc-$deuxiemeBlanc)."<br>";
  echo "Heure = ".substr($dateEtHeure,$troisiemeBlanc+1, $premierDeuxPoints-$troisiemeBlanc-1)."<br>";
  echo "Minutes = ".substr($dateEtHeure,$premierDeuxPoints+1, $deuxiemeDeuxPoints-$premierDeuxPoints-1)."<br>";
  echo "Secondes = ".substr($dateEtHeure,$deuxiemeDeuxPoints+1, strlen($dateEtHeure) - $deuxiemeDeuxPoints)."<br>";
?>

Exécutons ce code dans WAMP Server. Les six informations ont bien été isolées.

 

Vous avez aimé cet article ? Partagez-le avec vos réseaux...
 
Comments

No comments yet.

Leave a Reply