UP PREVIOUS NEXT   Technologies Internet et Education, © TECFA
  3. Introduction à la programmation avec PHP

3. Introduction à la programmation avec PHP

3.1 Eléments de programmation

Figure 3-1: Programme = algorithme + structures de données

 

3.2 Ressources PHP on-line et conventions pour la Syntaxe

Conventions utilisées dans ce document !

 

fonte

exemple

signification

fixe oblique

contenu

vous devez remplacer le contenu

<fixe>

<statement>

pareil

fixe bold

then

Mots clefs, à mettre tel quel

Ressources:

(y compris manuels, exemples etc.)

(téléchargement, updates, news, manuel commenté (avec traductions)...)

3.3 Syntaxe de PHP

3.4 Variables et assignation

A. Variables simples et assignation

assignation

$variable = contenu ;

Illustrations:

   $a = 10;
   $nom = "Patrick Ott";
   $somme = 123.456;

Exemple 3-1: Afficher des variables

 
<BODY>
 <H1>Simple Echo of variables with PHP</H1>
 
 
<?php
 
 
 $a = 10;
 $nom = "Patrick Ott";
 $somme = 123.456;
echo "Le nommé $nom a $somme francs dans la poche, mais il voudrait $a fois plus.";
?>
<p><hr>
</BODY>

B. Création et utilisation de tableaux simples

Méthode de création 1:

$nombres[] =1;
$nombres[] =2;
$nombres[] =3;
$nombres[] =4;

Méthode de création 2:

$nombres = array (1, 2, 3, 4);
$noms = array ("Pat", "Dave", "Surf", "K");

Utilisation:

Utilisation d'arrays simples

$vecteur[index]
echo "Le deuxième élément de noms est: $noms[1];

Exemple 3-2: Simple variables, tableaux et un peu de génération HTML

<?php

// Some simple HTML
echo"<h1>Simple arrays</h1>";

$utilisateur = "cher étudiant";
$no_utilisateur = 3;

$nombres = array (1, 2, 3, 4);
$noms = array ("Pat", "Dave", "Surf", "K");
$noms[] = "Zorro";

// Note html <br> tag
echo "Salut $utilisateur. Vous êtes le numéro $no_utilisateur.<br>";

// echo with concatenation, use it to print complex things
echo "La quatrième personne s'appelle " . $noms[3] ." ";

// simple echo
echo "et la cinquième personne s'appelle $noms[4].<p>";
$n = sizeof($nombres);

// note that we have to use \ in order to print a $ !
echo "We have $n numbers in array \$nombres.";
?>

C. Tableaux associatifs et multi-dimensionnels

(pas obligatoire au début !)

$fruits = array(
    "fruits"  => array("a"=>"orange","b"=>"banana","c"=>"apple"),
    "numbers" => array(1, 2, 3, 4, 5, 6)
    "holes"   => array("first", 5 => "second", "third")
);

D. Récapitulation pour les variables

$a = 1234; # decimal number
$a = -123; # a negative number
$a = 1.234; $a = 1.2e3; # floating point number
$str = "This is a string"; # chaine de caractères
$a[0] = "abc"; # élément 0 d'un array
$a[1] = "def"; # élément 1 d'un array
$b["foo"] = 13; # élément "foo" d'un array

3.5 Utilisation de constantes.

A. Définition

define(<NOM>, <valeur>);

define("PI", 3.14);

define("REMERCIEMENTS", "Merci d'utiliser notre programme<br>");

define("SALUTATIONS", "Je vous prie d'agréer, Madame, Monsieur, l'expression de nos sentiments dévoués");

$rayon = 12;

$perimetre = 2 * $rayon * PI;

echo REMERCIEMENTS;

echo "le périmètre du cercle est de " . $perimetre . "<br>";

echo SALUTATIONS;

résultat:

Merci d'utiliser notre programme

le périmètre du cercle est de 77.76

Je vous prie d'agréer, Madame, Monsieur, l'expression de nos sentiments dévoués.

3.6 Simples expressions et opérateurs

A. Opérateurs arithmétiques

Exemple 3-3: Simple Arithmétique

Application

Source

Pour copier

$leisure_satisfaction = 5;
$work_satisfaction = 7;
$family_satisfaction = 8;

$index = ($leisure_satisfaction + $work_satisfaction + $family_satisfaction)
         / 3 ;

echo "<p align=center> Satisfaction Index = $index <b>";

Assignation + addition en une seule instruction:

// sets $a to 8, as if we had said: $a = $a + 5;
$a += 5; 

B. Opérateurs sur les chaînes de caractères

Addition de chaînes de caractères (concatenation)

Utiliser le ".", exemple:

$a = "Hello ";
$b = $a . "World!"; // now $b = "Hello World!"
  • Note: Il existe de fonctions PHP pour manipuler des strings

Assignation + concatenation en une seule fois

$b = "Hello ";
 // sets $b to "Hello There!", just like $b = $b . "There!";
$b .= "There!";

C. Opérateurs logiques

 

example

name

result

$a and $b

"et"

Résultat vrai si $a et $b sont vrais

$a && $b

"et"

"

$a or $b

"ou"

Résultat vrai si $a ou $b ou les deux sont vrais

$a || $b

"ou"

"

$a xor $b

Or exclusif

Résultat vrai si $a ou $b sont vrais, mais pas les deux

! $a

"ne pas"

Résultat vrai si $a n'est pas vrai (est-que $a est faux?)

D. Opérateurs de comparaison

exemple

name

result

$a == $b

égal

True if $a is equal to $b.

$a===$b

identique

True if $a==$b and same type (php 4.x)

$a != $b

différent

True if $a is not equal to $b.

$a!==$b

pas identiques

True if $a!=$b or not same type (php4.x)

$a < $b

inférieur

True if $a is strictly less than $b.

$a > $b

supérieur

True if $a is strictly greater than $b.

$a <= $b

inférieur ou égal

True if $a is less than or equal to $b.

$a >= $b

supérieur ou égal

True if $a is greater than or equal to $b

Exemple 3-4: Comparaisons simples

$a = "Migros";
$b = "Coop";
$result = $a==$b;
$result2 = $a > $b;
$result3 = $result==TRUE;
echo "Result One = $result. Result TWO = $result2. Result THREE = $result3.";

3.7 Sélection (Conditions et tests)

Principe (plusieurs situations typiques):

"IF" (plusieurs variantes)

if (expr) statements

if (expr) statements else statements

if ( expr ) statements elseif ( expr ) statements else ...

if (expr) statements elseif (expr) statements [ elseif (expr) ... ]

Exemple 3-5: Simple "if" (comparaison)

Figure 3-2: Simple arbre de decision

 

 

<?php

$a = 10; $b = 11;
print "a was $a, b was $b. ";
if ($a > $b) {
    print "a is bigger than b";
} elseif ($a == $b) {
    print "a est égal à b";
} else {
    print "==> a is smaller than b.";
}

?>

Voir aussi les instructions suivantes:

3.8 Fonctions PHP

"Traite moi ces informations et retourne-moi le résultat"

 

Exemple 3-6: Color mixing for paint

function color_mix($color1,$color2) {
  $result= "unknown";
 
  if ($color1 == "bleu" and $color2 == "rouge") {
    $result = "violet";   }
  elseif ($color1 == "jaune" and $color2 == "bleu") {
    $result = "green";  }
  elseif ($color1 == "noire" and $color2 == "blanc") {
    $result = "gris";  }
  else {
    $result = "orange";   }
  return $result;
}
 
// Two calls to this function, results saved in variables
 
$situation1 =  color_mix ("bleu", "rouge") ;
 
$situation2 =  color_mix ("jaune", "bleu") ;
 
// Print
 
echo "Bleu  et rouge donne $situation1 <br>";
echo "Jaune et bleu  donne $situation2";

Exemple 3-7: Génération HTML simple avec des fonctions

<?php

// html formats a data element
function pretty_print
 ($output) {
	separator ();
	echo "<p align='center'> <strong>ELEMENT:</strong> $output </p>";
}
// outputs a separator
function separator ()
 {
	echo "<hr size=4 width=70%>";
}
// data we have
$el1 = "Un arbre jaune";
$el2 = "Ein gelber Hund";
$el3 = "A yellow sky";
// dump the data
pretty_print
($el1);
pretty_print
($el2);
pretty_print
($el3);

separator
 ();
echo "<hr>";
?>

3.9 Boucles "for" et génération HTML

A. Introduction à la boucle "for"

"boucle FOR":

FOR (expr1; expr2; expr3) statement

Exemple 3-8: Love generation


for ($i=1; $i<=10; $i++) {
    print "I love you so ! ";
}
Résultat:
love you so ! I love you so ! I love you so ! I love you so ! I love you so ! I love you so ! ......
echo "Je t'aime plus que toi.<br>
for ($i=2; $i<=10; $i++) {
    echo "Non, je t'aime $i fois plus que  toi ! ";
}
Résultat:
Je t'aime plus que moi.
Non, je t'aime 2 fois plus que moi ! Non, je t'aime 3 fois plus que moi ! Non, je t'aime 4 fois plus que moi ! Non, je t'aime 5 fois plus que moi ! Non, je t'aime 6 .....

Autres éléments PHP:

B. Fonctions PHP et arrays (génération d'une table HTML)

Exemple 3-9: Génération de tables html

$love_list
 = array ("a lot", "a bit", "somewhat", "à mourir", "forever", "until notice", "more than I love my dog");
<table border align="center">
<?
// define a function to generate a table
function build_table($list) {
 for ($i=0; $i < sizeof($list); $i++) {
   $love_text = $list[$i];
   echo "<tr> <td> ... I love you</td> <td>$love_text</td>";
   }
}
// call the function, generate the table
build_table($love_list);
?>

</table>

Notez:


UP PREVIOUS NEXT -- TIE