Cours par Webcam

Cours par Webcam

Formateur Web pour adultes depuis plus 11 ans, je vous propose des COURS collectifs par WEBCAM en LIVE pour booster vos connaissances et être autonome dans la création de site.

En savoir plus

PHP - Bases

PHP - Algorithmie

PHP - Chaîne

PHP - Tableau

PHP - Formulaires

PHP - Fonctions Usuelles

Données entres pages

Environnement et Interaction

PHP objet (POO)

Facebook
Twitter
LinkedIn

Recherche d’éléments dans un tableau

Php propose un certain nombre de fonctions utiles pour vérifier la présence d’éléments dans un tableau, récupérer des clés, rechercher le nombre d’occurrences d’éléments trouvés… Vous pouvez même tirer au hasard des valeurs dans un tableau.

Présence dans un tableau

Pour savoir si un élément se trouve dans un tableau, utilisez la fonction in_array() qui prend en premier paramètre la valeur à rechercher et en deuxième paramètre le tableau où effectuer la recherche.

<?php
$tab = array('daniel', 'boby','david');
if(in_array('david',$tab){
echo 'trouvé';
}else{
echo 'pas trouvé';
}
?>

Affichage

trouvé

Vous pouvez utiliser un troisième paramètre qui permet de faire une vérification de type. S’il vaut TRUE alors in_array() vérifiera aussi que le type de la valeur recherchée correspond au type de la valeur trouvée.

<?php
$tab = array(1, 2,'3');
if(in_array(3,$tab,true)){
echo 'trouvé<br>';
}else{
echo 'pas trouvé<br>';
}
$tab = array(1, 2,'3');
if(in_array(3,$tab,false)){
echo 'trouvé<br>';
}else{
echo 'pas trouvé<br>';
}
?>

Affichage

pas trouvé
trouvé

Si le troisième paramètre n’est pas précisé, la vérification de type ne se fera pas.

Rechercher la clé correspondante

La fonction in_array() vérifie la présence mais ne retourne aucune valeur. Pour cela, utilisez la fonction array_search() qui fonctionne comme in_array() mais qui retourne la clé de la valeur recherchée.

<?php
$tab = array('daniel', 'boby','david');
echo 'Clé : '.array_search('daniel',$tab);
?>

Affichage

Clé : 0

Si la valeur n’est pas trouvé, la fonction retourne le boolean false.

<?php
$tab = array('daniel', 'boby','david');
$pos = array_search('boby',$tab);
if($pos!==false){
echo 'trouvé en position '.$pos.'<br>';
}else{
echo 'pas trouvé<br>';
}
?>

Affichage

trouvé en position 1

Note : pour pouvoir bien tester une clé qui peut être nulle, utiliser l’opérateur !==

Rechercher le nombre d’occurences

Php peut retourner, sous forme d’un tableau associatif, le nombre d’occurences trouvés pour chaque valeur du tableau avec la fonction array_count_values().

<?php
$tab = array('daniel', 'boby','david','daniel', 'boby');
$occ = array_count_values($tab);
print_r($occ);
?>

Affichage

Array ( [daniel] => 2 [boby] => 2 [david] => 1 )

Si la valeur n’est pas trouvée, la fonction retourne le boolean false.

<?php
$tab = array('daniel', 'boby','david');
$o = array_search('boby',$tab);
if($pos!==false){
echo 'trouvé en position '.$pos.'<br>';
}else{
echo 'pas trouvé<br>';
}
?>

Affichage

trouvé en position 1

Note : pour pouvoir bien tester une clé qui peut être nulle, utiliser l’opérateur !==

Récupération aléatoire

Php peut tirer une ou plusieurs valeurs d’un tableau au hasard avec la fonction array_rand(). Le premier paramètre est le tableau source et le deuxième paramètre est le nombre d’éléments à retourner. La fonction renvoie les clés associées aux valeurs tirées au hasard.

<?php
$tab = array('daniel','isabelle','david','daniel', 'antoine');
$hasard = array_rand($tab,2);
print_r($hasard); // tableau des clés tirées au hasard
echo '<br>Voici la première valeur tirée au hasard : '.$tab[$hasard[0]];
?>

Affichage

Array ( [0] => 2 [1] => 4 )
Voici la première valeur tirée au hasard : david

Si le deuxième paramètre n’est pas spécifié, la fonction retourne qu’une seule valeur.

<?php
$tab = array('daniel','isabelle','david','daniel', 'antoine');
$hasard = array_rand($tab); // une seule clé tirée au hasard
echo 'Voici la valeur tirée au hasard : '.$tab[$hasard];
?>

Affichage

Voici la valeur tirée au hasard : isabelle

A lire aussi

tutowebdesign

Afficher du contenu au scroll

Afficher du contenu au scroll Voici un effet impressionnant et pourtant très facile à mettre en place sur vos pages. Le principe consiste à faire

Lire »