Fonctions utiles avec les tableaux

vendredi 22 mai 2009
il existe plusieurs fonctions traitant les tableau en php

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

samedi 16 mai 2009
Parcourir un tableau utilisant des entiers comme indices : La manière la plus rapide pour extraire l'ensemble des valeurs d'un tableau, quel que soit le nombre de valeurs, est d'utiliser une boucle for() :
<?
$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

La fonction gettype() permet de changer le type de données d'une variable. On peut assigner les types:

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

une variables variable donne la possibilité de créer une deuxième variable à partir de la valeur de la première

<?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 à 10
en 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 <

mercredi 6 mai 2009
vous avez surement remarqué que sur certaines page le lien est un peu long genre : www.peuimporte.com/exemple.php?var=valeur&var2=valeur2 dans cet exemple var est en faite une variable de type Get, php nous donne la possibilité de faire passer une variable dans l'URL et la récupérer après et voici comment :
<?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">
 
Changing LINKS