Fonctions utiles avec les tableaux
Tri de tableau en utilisant la fonction sort
PHP array Function Sort
<?
$exempl = array("b","c","a","d");
sort($exempl);
$key = key($exempl);
$val = current($exempl);
while(list ($key, $val) = each($exempl)) {
echo "$key => $val
";
}
}
?>
fonction array_change_key_case(array,case)
transformer les caractères d'un tableau en majuscules ou en minuscules
array : le tableau à traiter
case (optionnel) : il y a deux option :
1- CASE_LOWER : transformer les caractères du tableau en minuscules
2- CASE_UPPER : transformer les caractères du tableau en majuscules
attention pour un tableau bidimentionnel la fonction ne va affecter que les clés
fonction array_combine(array1,array2)
combiner deux tableau pour avoir un seul tableau avec array1 le clés et array2 les valeurs
exemple:
$a=array("a","b","c","d");
$b=array("1","2","3","4");
print_r(array_combine($a,$b));
on aura : Array ( [a] => 1 [b] => 2 [c] => 3 [d] => 4 )
Fonction array_flip(array) :
retourne un tableau en transformant les clés en valeurs et les valeurs en clés.
Fonction array_key_exists(key,array)
parcourir un tableau à la recherche d'une clé si elle existe la fonction retourne true sinon false
Parcourir un tableau
<?
$fruit = array("pomme", "poire", "banane");
for($nb =0; $fruit[$nb] != false; $nb++)
{
echo $fruit[$nb]." ";
}
?>
si le tableau ne commence pas par l'indice 0, il faut seulement initialiser la variable $nb avec l'indice de départ du tableau afin que l'ensemble des valeurs soit affichées.
il existe une autre façon pour extraire les valeurs d'un tableau, il faut utiliser la boucle for() mais aussi la fonction count().
<?
$fruit = array("pomme", "poire", "banane");
$elements_table = count($fruit);
for($nb =0; $nb <= $elements_table; $nb++)
{
echo $fruit[$nb]." ";
}
?>
Lorsque vous avez plusieurs indices qui ne se suivent pas, vous ne pouvez pas utiliser de boucle for(), il faut donc utiliser une boucle while() :
<?
$fruit = array(60 => "pomme", 90=> "poire", "banane");
$key = key($fruit);
$val = current($fruit); reset($fruit);
while(list ($key, $val) = each ($fruit))
{
echo "L'indice $key correspond a $val";
}
?>
Parcourir un tableau utilisant des chaînes comme indices : Lorsque l'indice est une chaine, il est nécessaire d'utiliser une boucle while pour afficher l'ensemble des valeurs et des indices du tableau :
<?
$fruit = array("bonne" => "pomme", "juteux" => "poire", "sucre" => "banane");
$key = key($fruit);
$val = current($fruit); reset($fruit);
while(list ($key, $val) = each ($fruit))
{
echo "L'indice chaine $key correspond a $val";
}
?>
Création de tableaux
Un tableau est un conteneur renfermant plusieurs valeurs. Chaque élément d'un tableau possède une valeur propre ainsi qu'une clé qui permet de faire référence à cet élément.
Il existe plusieurs manières pour créer des tableaux :
* Avec des indices entiers
1. Affecter des valeurs aux variables :
$fruit[] = "pomme";
$fruit[] = "poire";
$fruit[] = "banane";
En ne mettant rien entre crochet, l'élément est tout simplement ajouté a la suite.
2. Affecter des valeurs et des indices explicites :
$fruit[0] = "pomme";
$fruit[1] = "poire";
$fruit[2] = "banane";
L'indice peut être n'importe quel entier, ainsi, cela aurait pu être 10, 20 et même 1000.
3. Affecter des valeurs avec array() :
$fruit = array("pomme", "poire", "banane");
Ainsi $fruit[2] va renvoyer banane.
4. Affecter des valeurs et des indices avec array() :
$fruit = array(1=>"pomme", "poire", "banane");
Ainsi $fruit[3] va renvoyer banane. Tout simplement, en plaçant l'opérateur =>, vous changez l'indice, c'est a dire que les autres éléments vont prendre les valeurs suivantes, ici ce sera 1, 2 et 3 au lieu de 0, 1 et 2. Il est possible de placer l'opérateur devant n'importe quelle valeur du tableau.il est aussi possible d'utiliser des chaines de caractère comme indices:
$fruit = array("bonne"=>"pomme", "juteux"=>"poire", "sucre"=>"banane");
ou de cette mannière:
$fruit["bonne"] = "pomme";
Type de variable
class
integer
object
string
array
double
unknown type
exemple:
if(gettype($variable) == "integer")
La fonction settype() permet de définir explicitement le type d'une variable.
$variable = 10.3;
settype($variable, "integer");
La variable $variable renverra maintenant 10 et non 10.3.
Variable variable
<?php
$variable1 =
'variable2'; // initier la variable 1
$$variable1 =
'valeur de la variable 2';
//
créer la variable 2
echo
$$variable1
; //Affiche : la valeur de la variable variable.
?>
l'utilité des variables variables est vaste, le but est de simplifier la vie au développeur, imaginons par exemple une formulaire qui contient 10 champs. d'abord au lieu de créer chaque champs à part on peut les générer par une simple boucle (voir le tutoriel des boucles)
de la forme
<input type=
"text" NAME="text_$i" value=""> $i est numérique allant de 1 à 10en deuxième lieu, pour afficher les valeurs des 10 champs
for($i=1;$i<11;$i++)
{
if(!empty(${'text_'.$i}))
// afficher la valeur
else
// valeur vide afficher erreur
}
les variables Get <
<?php
echo
$_GET
['var']; //Affiche : valeur
echo $_GET['var2']; //Affiche : valeur2
$_GET['
var2
'] = 1; //affecter une valeur a la variable Get
echo $_GET['var2']; //Affiche : 1
?>
on se demande pourquoi ne pas utiliser une simple variable comme $var, en faite le problème est la portée de la variable.
si on crée un script ,utilisant 10 variables, qui affiche la multiplication de ces variables entre elles et on veux aller vers une page qui va faire un traitement différent, disons qu'on va additionner ces variables entre elles, et bien en passant vers la deuxième page on se rendra compte que les variables du deuxième scripte sont nulle!! car la variable php vie seulement dans la page qui la contient. avec ce même exemple vous pouvez être sur que ça va marcher si vous faites passer les valeurs de vos variables dans l'URL, et c'est assez simple, il suffit de faire votre lien de la forme :
<a href="http://www.xxx.yy/index.php?var=valeur&var2=valeur2">
Cathérory
- 1-Introduction (5)
- 2-variables et constantes (8)
- 3-Les tableaux (3)
- 4-les commentaires (1)