Blogdevphp

Fonctions PHP intéressantes mais peu connues

2014-03-08 php

Pour exécuter une tâche donnée,on s'évertue à créer des fonctions. Pourtant, des fonctions php existent pour nous éviter de réinventer la roue. 

Quand on les decouvre,on se dit qu'on aurait bien été content de tomber dessus.

Peut-être que vous découvrirez pour la première fois, certaines des fonctions ou pas, c'est selon!

Je partage ici quelques unes de ces fonctions qui peuvent, dans certains cas, bien nous  aider.

La fonction Checkdate()

Cette fonction vous permettra de valider une date. Elle renvoie un booléen pour indiquer si la date est valide ou pas.

<?php

$jour = 30;
$mois = 02;
$annee = 2014;

if(checkdate($jour, $mois, $annee) == false){
  echo "la date est invalide";
}
else{
  echo "La date est valide";
}

?>

Cela va afficher que la date est invalide, vous avez déjà vu  un mois de février à trente jours!

La fonction mb_check_encoding()

Avec cette fonction, on vérifie, si une chaine de caractères correspond à l'encodage qu'on a mis en paramètre. Elle revoie true ou false donc un booléen.

<?php

//Tester si l'encodage est en utf8
$string = 'je veux tester ma chaine';

if (mb_check_encoding($string, 'UTF-8')){
echo 'C\'est bon, ça passe';
}else{
echo 'Outch, c\'est pas du utf8';
}

?>

La fonction levenshtein()

Je ne sais pas, si au cours de vos études, vous avez pu voir la distance de levenshtein, développé par ce scientifique russe. Mais, je ne ferai pas de cours, juste me limiter à la fonction PHP.

On compare des chaines entre elles, plus le nombre sera petit, plus la chaine comparé à la chaine cible contienne les mêmes lettres.

<?php

$cible = "laminer";

$string1 = "lame";
$string2 = "élire";
$string3 = "élimer";

$check1 = levenshtein($cible, $string1);
$check2 = levenshtein($cible, $string2);
$check3 = levenshtein($cible, $string3);

// le résultat 3, 5 et 4

?>

 

La fonction pathinfo()

Cette fonction très pratique,vous permet de récupérer une information sur le chemin d'un fichier.

<?php

$file = pathinfo('/auth/login/login.php');
$file2 = pathinfo('/auth/login/login.php',PATHINFO_BASENAME);

echo $file['filename'].'
';// login echo $file['extension'].'
';// php echo $file['basename'].'
';// login.php echo $file['dirname'];// /auth/login echo $file2;// login.php ?>

La fonction min()

Vous devinez à quoi pourra servir cette fonction, à déterminer le minimum mais de quoi ? 

On peut déterminer,la plus petite valeur dans un tableau et ça se fait comme ceci :

<?php

$tab = array(860,54,234,78);
echo min($tab);// 54

?>

S'il existe un min, c'est qu'il y un max, oui, bonne déduction!

La classe LimitIterator

Oui, là je vous parle de la classe, pas d'une fonction en particulier. J'avais un peu parlé de cette classe quand j'avais j'abordé la classe SplFileObject pour la prise en compte d'un csv.

Avec cette classe, vous allez pouvoir délimiter vos résultats. Par exemple, afficher les résultats à partir de la troisième valeur d'un tableau :

<?php

$tab = new ArrayIterator(array('PHP','Java','DotNet','CSS','Spring', 'Visual Studio' ));
$results = new LimitIterator($tab,2);

foreach($results as $result){
echo '<pre>';
print_r ($result);
echo '</pre>';
}
//resultats
/*DotNet
CSS
Spring
Visual Studio*/
?>

On peut encore aller plus en commençant, à partir d'une position donnée et limiter à trois valeurs:

<?php

$tab = new ArrayIterator(array('PHP','Java','DotNet','CSS','Spring', 'Visual Studio' ));
$results = new LimitIterator($tab, 2, 3);

foreach($results as $result){
echo '<pre>';
print_r ($result);
echo '</pre>';
}

//Résultats
/*DotNet
CSS
Spring*/

?>

Conclusion

J'espère que vous pu découvrir ou rédécouvrir de nouvelles fonctions ou la classe LimitIterator. Si vous avez d'autres fonctions que vous connaissez, peu connues ou peu utilisées, partagez par l'intermédiaire des commentaires.

comments powered by Disqus
Copyright © 2018 blogdevphp.fr - Tous droits réservés