Rechercher dans les publications Rechercher:

Imprimer cet article

Rechercher dans les publications Auteur : Cariboo
Site Web :
Pnambique

Directeur du Pôle Experts de la société @position http://www.aposition.com

Articles de l'auteur :
La détection du Link Spam : un challenge pour les moteurs [3/4]
La détection du Link Spam : un challenge pour les moteurs [2/4]
La détection du Link Spam : un challenge pour les moteurs [Bibl.]
La détection du Link Spam : un challenge pour les moteurs [1/4]
Cuill veut surpasser Google grâce à l’analyse de données sémantiques
2007 : l’année des moteurs furtifs
L’autre sémantique - Le Web Sémantique et les systèmes de recherche d’information. [3.4]
L’autre sémantique - Le Web Sémantique et les systèmes de recherche d’information. [3.3]
L’autre sémantique - Le Web Sémantique et les systèmes de recherche d’information. [3.2]
L’autre sémantique - Le Web Sémantique et les systèmes de recherche d’information. [3.1]
Joachim Kreibich (Seekport) : pour nous, un moteur de recherche de qualité doit tenir compte des particularismes linguistiques nationaux, voire régionaux
Une tentative de définition du spamdexing
Google Base dévoilé !
Les concepts de la POO
La programmation objet : qu’est-ce que c’est ? à quoi ça sert ?
Gregory Olivier "MSN Search cherche à établir un véritable dialogue avec les webmasters et les référenceurs"
Direct Answers from Encarta
MSN Search utilise-t’il l’analyse au niveau des blocs ?
Spyware : les méthodes pour s’en débarasser
Michael James, de la société Mirago "Nous misons sur nos partenaires pour développer notre visibilité"
La sémantique appliquée et les outils de recherche [2/6]
Linguistique statistique et sémantique appliquée : outil de pertinence pour les moteurs, de KM et de référencement
ANALYSE THEMATIQUE (4/4) par le Pr E. Garcia
ANALYSE THEMATIQUE (3/4) par le Pr E. Garcia
Applications des outils sémantiques au référencement et aux moteurs de recherche
Sémantique appliquée : Liens et références bibliographiques
ANALYSE THEMATIQUE (2/4) par le Pr E. Garcia
ANALYSE THEMATIQUE (1/4) par le Pr E. Garcia
CIRCA : la technologie d’Applied Semantics au coeur des Adwords et des Adsense de Google [3]
Mon premier programme en PHP (3e Partie)
CIRCA : la technologie d’Applied Semantics au coeur des Adwords et des Adsense de Google [2]
CIRCA : la technologie d’Applied Semantics au coeur des Adwords et des Adsense de Google [1]
Quelques pistes pour comprendre le nouvel algorithme de Google (suite et fin)
Quelques pistes pour comprendre le nouvel algorithme de Google
FOOXX, le moteur futé venu d’Allemagne
Le futur moteur que prépare Microsoft pour MSN sera-t’il Brilliant ?
Mooter, un moteur de recherche innovant venu d’Australie
Les techniques évoluées d’indexation dans les moteurs de recherche (2e partie)
Visibilité et stratégies de développement d’audience sur le Web
Les techniques évoluées d’indexation dans les moteurs de recherche
L’algorithme HITS et le projet CLEVER (deuxième partie)
L’algorithme HITS et le projet CLEVER
La structure du web est en forme de "noeud papillon"
Webfountain d’IBM
Vers un moteur de recherche sensible au contexte (1ère partie)
Vers un moteur de recherche sensible au contexte (2ème partie)
Vers un moteur de recherche sensible au contexte (3ème partie)
Droit d’auteur et site web
Droit d’auteur et site web (2e Partie)
Droit des producteurs de bases de données (législation française)
Tester correctement variables et valeurs en php
Mon premier programme en PHP (2e Partie)
Les nouveautés de la version 5 de PHP
Les origines du PHP
Mon premier programme en PHP
Pourquoi choisir le PHP pour réaliser des pages dynamiques ?
Mon premier programme en PHP (2e Partie)

[niveau : débutant]

Mon premier programme en PHP (2e Partie)

Les bases du PHP : variables, constantes et opérateurs

7 septembre 2003, par Cariboo

Après avoir vu à quoi ressemblait un script php dans l’article précédent, nous allons survoler les principales instructions de ce langage :

- les variables
- les opérateurs
- les structures de contrôles
- les fonctions et les classes

Il s’agit bien d’un survol pour vous donner un aperçu synthétique, pour en savoir plus, consultez la documentation php complète en français :
http://fr.php.net/manual/fr/index.php

Revenir à la première partie

Les variables

notation
En php, tous les noms de variables sont précédés du caractère $ :


    $bidule='valeur contenue dans cette variable nommée bidule';
    echo $bidule;

pas de déclaration obligatoire
Contrairement à d’autres langages structurés, comme le Pascal, il est inutile de déclarer les variables avant de les initialiser, et le type des variables n’est pas prédéfini.

Donc pour utiliser une variable, il suffit de l’initialiser en lui affectant une valeur comme ci-dessus. Point final.
Le type (numérique, alphanumérique, virgule flottante etc...) des variables est susceptible de changer en cours de script. Ce qui veut dire que le code suivant est parfaitement valide en php, et ne provoque pas d’erreur "type mismatch" comme dans la plupart des langages [1]


    <html>
    <head></head>
    <body>
    <?php
    $bidule='Pierre';
    echo "Bonjour,".$bidule;
    $bidule=1;
    echo "Vous avez reçu ".$bidule." message(s)";
    ?>
    </body>
    </html>

Les types de variables
Si les variables peuvent changer de type en fonction de ce que l’on met dedans, cela ne veut pas dire qu’elles n’ont pas de type défini. Simplement, ce type dépend du type de la valeur affectée à la variable.

Les types de valeurs disponibles en PHP
entier
décimal
chaîne de caractères
booléen [2] (PHP 4 et + seulement)
objet
tableau

Le cas particulier des tableaux

Le PHP permet de créer des variables tableaux à une dimension, grâce à la notation $tablo[indice]. L’indice peut être soit numérique ($tablo[1], $tablo[2]), soit alphanumérique ($tablo["nom"], $tablo["prenom"]) ce qui permet d’utiliser facilement les valeurs stockées dans un tableau.

Fidèle à sa gestion relâchée des variables, il n’est pas obligatoire de déclarer une variable tableau, on peut mélanger les indices numériques et alphanumériques dans un même tableau, on peut affecter des valeurs aux cellules du tableau dans n’importe quel ordre, et oublier d’initialiser toutes les cases du tableau.

Pour en savoir plus sur les particularités des tableaux en php :
Tester correctement variables et valeurs en php

notations d’incrémentation

Les notations d’incrémentation habituelles fonctionnent en php [3] :

Exemples valides :


    $i++; incrémente de 1
    $i+=1;
    $i--; décrémente de 1 à la variable

portée des variables

En php, la portée des variables est "locale" par défaut. On peut néanmoins définir des variables globales, locales, ou statiques. Les variables globales sont disponibles dans tout le script (y compris à l’intérieur des fonctions). Les variables statiques ("static") sont utiles au sein des fonctions.

constantes

Pour définir des valeurs réutilisables par tout un script, et qui ne changent pas pendant le script, l’idéal est de définir une constante.
Pour définir une constante, il suffit d’utiliser l’instruction define :


    //on suppose que $rayon a été initialisée par ailleurs
    define(PI,3.1416);
    $perimetre=2 * PI * $rayon;
    echo "Périmètre =".$perimetre;

Remarque : il n’y a pas de $ devant les noms de constante

variables externes

En php, il est très facile de récupérer les valeurs de variables définies en dehors du script, comme :
- les données postées depuis un formulaire (voir plus loin un exemple concret)
- les variables d’environnement

Toutes les variables d’environnement du serveur apache sont ainsi facilement récupérables : Exemple :


    echo $PATH

($PATH donne accès au chemin local permettant d’accéder au script sur le serveur.)
remarque : les variables d’environnement ont des noms en majuscules [4]

Les opérateurs

Remarque : ces opérateurs existent dans de nombreux langages, avec des notations proches ou identiques.

Les opérateurs logiques

notation explicite notation alternative observations
and &&
or ||
xor $exp1 xor $exp2 vrai si ($exp1 est vraie ou $exp2 est vraie) mais faux si ($exp1 et $exp2 sont vraies)
not  !
 ? : ($exp1) ? ($exp2) : ($exp3) renvoie la valeur de $exp2 si $exp1 est vraie, sinon la valeur de $exp3 (opérateur ternaire)

Les opérateurs de comparaison

notation explicite notation alternative observations
== $a==$b : renvoie vrai si les deux valeurs sont égales
=== (PHP4) $a===$b : renvoie vrai si les deux valeurs sont égales, et si les deux variables ont le même type
 != <> $a !=$b : renvoie vrai si les deux valeurs sont différentes
< inférieur
<= inférieur ou égal
> supérieur
>= supérieur ou égal

Les opérateurs arithmétiques
Les quatre opérations sont disponibles (+,-,*,/) auquel s’ajoute l’opérateur % (modulo) : a%b donne le reste de la division de a par b.

Suite de l’article : structures de contrôles et fonctions
Revenir à la première partie

Philippe YONNET



[1] ce comportement très souple accélère considérablement la prise en main du langage par les débutants. Elle élimine tout un formalisme rébarbatif qui empêche habituellement les programmes écrits en langage structurés de fonctionner tant que les variables ne sont pas déclarées, initialisées et utilisées proprement. Mais, si l’on y prend pas garde, cela produit des bogues aléatoires particulièrement difficiles à détecter. Ce point est abordé dans un autre article : Tester correctement variables et valeurs en php

[2] L’introduction du type booléen introduit plusieurs problèmes de compatibilité ascendante entre les scripts PHP3 et PHP4 : les valeurs retournées par plusieurs fonctions en cas d’échec ont changé de type, et certains tests sur ces valeurs ne fonctionnent plus

[3] Attention : si vous êtes habitués au comportement du C, sachez qu’avec les chaînes de caractères, PHP incrémente les valeurs comme en Perl : si $var contient "AA", après un $var++, $var contient "AB" !

[4] et gare aux confusions entre $path, variable initialisée dans le script, et la variable d’environnement $PATH