VariablesLes variables sont précédées du signe $, quelque soit leur type. Leur déclaration est optionnelle. Si vous voulez forcer une variable à être convertie en un certain type, vous devez "caster" la variable ou utiliser la fonction settype(). On dispose de 3 types de variables: scalaire, tableau et tableau associatif. Il n'y a pas de type pointeur. nombre entier$a = 1234; # nombre entier Les nombres à virgule flottante ("doubles")$a = 1.234; Les chaînes de caractèresSi la chaîne de caractères est délimitée par des double-quotes ("), les variables à l'intérieure de la chaîne de caractères seront remplacées. Comme en C ou en Perl, le caractère backslash (\) est utiliser pour "protéger" un caractère spécial. séquence signification Exemple possible
Conversion de typeLorsqu'une chaîne de caractère est évaluée comme une valeur numérique, le résultat et le type de la variable sont d&eacite;terminés comme suit: La chaîne de caractère est de type "double" si elle contient un des caractère '.', 'e' ou 'E'. Sinon, elle est de type "integer". La valeur est définit par la première partie de la chaîne. Si la chaîne de caractères débute par une valeur numérique cette valeur sera celle utilisée. Sinon, la valeur sera égale à 0 (zéro). Lorsque la première expression est une chaîne de caractères, le type de la variable dépend de la seconde expression.
TableauxTalbeaux à une dimension PHP supporte les talbeaux scalaires et les tableaux associatifs. Vous pouvez créer un tableaux en utilisant les fonctions list() ou array(), ou bien en affectant explicitement chacune des valeurs. $a[0] = "abc"; $a[1] = "def"; Déclaration$fruits= array();
Affectation$fruits[0]= "pomme"; $fruits[1]= "banane"; $fruits[] .= "orange"; // equivaut a $fruits[2]= "orange" $fruits= array( "pomme", "banane", "orange" ); sizeof : Renvoie le nombre d'éléments d'un tableau. équivalent de count : 3
is_array : Renvoie true si la variable est de type tableau (ou tableau associatif), false sinon. reset
: end : current : renvoie l'élément courant du tableau. next : déplace le pointeur vers l'élément suivant, et renvoie cet élément. renvoie false si il n'existe pas prev : déplace le pointeur vers l'élément précédent, et renvoie cet élément. renvoie false si il n'existe pas each : $a=each($tablo) renvoie l'index et la valeur courante dans un tableau à 2 elements; $a[0] contient l'index, $a[1] la valeur. list : key : sort, rsort, usort, uasort : Differentes fonctions de tri de tableau. Tableau associatifUn tableau associatif est un tableau dont l'index est une chaine de caractère au lieu d'un nombre. On parle aussi de ``hash array'' ou ``hash''. Il se déclare comme un tableau traditionnel, la distinction se fait lors de l'affectation. Déclaration $calories= array(); // comme un tableau AffectationAffectons un nombre de calories moyen aux fruits. $calories["pommes"]= 300; $calories["banane"]= 130; $calories["litchie"]= 30; Conversion de typesLes conversions authorisées sont: (string) - conversion vers le type "string" (array) - conversion vers le type "array" (object) - conversion vers le type "object" Portée des variablesLa portée d'une variable dépends du contexte dans lequel la variable est définie. Pour la plupart des variables, la portée concerne la totalité d'un script PHP. Mais, lorsque vous définissez une fonction, la portée d'une variable définie dans cette fonction est locale à la fonction. Pour ne pas perdre le contenu on utilise l'instruction static
Les variables extérieures au PHPFormulaire HTML (GET et POST)
<form action="foo.php3" method="post"> rsque ce formulaire est envoyé, le PHP va créer la variable $name, qui contiendra la valeur que vous avez entré dans le champ Name du formulaire. Le PHP permet aussi l'utilisation des tableau dans le contexte de formulaire, mais seulement des tableaux à une seule dimension. <form action="array.php" method="post"> les variables transmises par les méthodes POST et GET pourront aussi être trouvées dans le tableau associatif global $HTTP_POST_VARS ou $HTTP_GET_VARS suivant la méthode utlisée. Pour récupération: utilisation de la variable définie dans le formulaire. pour version PHP < 4.1 directement $var pour version PHP >= 4.1 directement $_POST['var'] ou $_GET['var'] pour connaitre la version du PHPPHP_VERSION Variables d'environnementLe PHP fait en sorte que les variables d'environnement soit accéssible directement comme des variables PHP normales. echo $HOME; /* Affiche la valeur de la variable
d'environnement HOME*/ La fonction getenv() peut être utilisé pour récupéré la valeur des variables d'environnement. Vous pouvez aussi affecter une variable d'environnement grâce à la fonction putenv(). Détermination du type des variablesPour connaitre les types de variables : Les fonctions gettype(), is_long(), is_double(), is_string(), is_array(), et is_object() permettent de déterminer si le type de variable correspond. ConstantesPHP permet de definir des constantes a l'aide de la fonction define. __FILE__contient le nom du fichier __LINE__le numéro de la ligne courante. TRUE , FALSE , E_ERROR , E_WARNING Vous pouvez définir d'autres constantes en utilisant la fonction define(). vous etes sur le fichier : /mnt/153/sdb/f/c/epidstory/CPI-SITE/CPI_PHP/PHPCours/php2opevariable.php et 295 define("message","vous etes sur le fichier : " ); Variables systemes$PHP_AUTH_USER code utilisateur $PHP_AUTH_PW mot de passe $PHP_USER_AGENT version du navigateur $HTTP_ACCEPT_LNGUAGE : codes langues exp : fr , en $REMOTE_ADDR : adresse IP $DOCUMENT_ROOT : répertoire physique contenant la page affichée. Tests sur variablesLa fonction isset permet de tester si une variable est définie. La fonction unset permet de supprimer la variable, et de désallouer la mémoire utilisée. La fonction gettypepermet de connaitre le type de la variable. Elle renvoie une chaine : ``string'' ou ``integer'' ou ``double'' ou ``array'' ou ``object''. Note : Si la variable n'est pas définie, elle renvoie "string"
On peut également tester un type particulier a l'aide des fonctions is_array , is_string, is_int,is_float, is_object .
|
|||||||||||||||
Envoyez un courrier électronique à Philippe Bancquart pour toute question ou remarque concernant ce site Web. |