Syntaxe du langage PHP
-
Upload
nayd-nabil -
Category
Technology
-
view
188 -
download
6
description
Transcript of Syntaxe du langage PHP
PHP
Le manuel du langage
Balises php
<?php echo 'Si vous voulez réaliser des documents XHTML ou XML, faites comme ceci'; ?>
<script language="php"> echo 'quelques éditeurs (comme FrontPage) n\'aiment pas ce genre d\'instructions';</script>
<? echo 'ceci est le plus simple, une instruction SGML'; ?><?= expression ?> Ceci est la version courte pour <? echo expression ?>
<% echo 'Vous pouvez utiliser les balises ASP-style'; %><%= $variable;%>Ceci est la version courte pour<% echo . . .%>
Balises php
Php et html
<p>Ceci sera ignoré par PHP et affiché au navigateur.</p><?php echo 'Alors que ceci sera analysé par PHP.'; ?><p>Ceci sera aussi ignoré par PHP et affiché au navigateur.</p>
<?php if ($expression == true){ ?> Ceci sera affiché si l'expression est vrai. <?php } else {?> Sinon, ceci sera affiché. <?php }?>
Les constantes
define("FOO", "something");define("FOO2", "something else");define("FOO_BAR", "something more");
Les tableaux
array( key => value, key2 => value2, key3 => value3, ... )
$array = array( "foo" => "bar", "bar" => "foo", 100 => -100, -100 => 100,);
$array = array("foo", "bar", "hallo", "world");
Les tableaux
<?php$array = array( "foo" => "bar", 42 => 24, "multi" => array( "dimensional" => array( "array" => "foo" ) ));
var_dump($array["foo"]);var_dump($array[42]);var_dump($array["multi"]["dimensional"]["array"]);?>
Instructions et blocs
Instructions;
{instruction1;instruction2;..}
Syntaxe alternative
PHP propose une autre manière de rassembler des instructions à l'intérieur d'un bloc, pour les fonctions de contrôle if, while, for, foreach et switch. Dans chaque cas, le principe est de remplacer l'accolade d'ouverture par deux points (:) et l'accolade de fermeture par, respectivement, endif;, endwhile;, endfor;,endforeach;, ou endswitch;
Structures de contrôle <?php
if ($a > $b) { echo "a est plus grand que b";} elseif ($a == $b) { echo "a est égal à b";} else { echo "a est plus petit que b";}?>
<?phpif ($a == 5): echo "a égale 5"; echo "...";elseif ($a == 6): echo "a égale 6"; echo "!!!";else: echo "a ne vaut ni 5 ni 6";endif;?>
Structures de contrôle <?php
if ($i == 0) { echo "i égal 0";} elseif ($i == 1) { echo "i égal 1";} elseif ($i == 2) { echo "i égal 2";}
switch ($i) { case 0: echo "i égal 0"; break; case 1: echo "i égal 1"; break; case 2: echo "i égal 2"; break;} ?>
Structures de contrôle
<?phpswitch ($i) {case 0:case 1:case 2: echo "i est plus petit que 3 mais n'est pas négatif"; break;case 3: echo "i égal 3";}?>
Structures de contrôle
<?phpswitch ($i): case 0: echo "i égal 0"; break; case 1: echo "i égal 1"; break; case 2: echo "i égal 2"; break; default: echo "i n'est ni égal à 2, ni à 1, ni à 0";endswitch;?>
Structures de contrôle
<?php/* exemple 1 */$i = 1;while ($i <= 10) { echo $i++; /* La valeur affiche est $i avant l'incrémentation (post-incrémentation) */}
/* exemple 2 */$i = 1;while ($i <= 10): echo $i; $i++;endwhile;?>
Structures de contrôle
<?php$i = 0;do { echo $i;} while ($i > 0);?>
Il n'y a qu'une syntaxe possible pour les boucles do-while :
Structures de contrôle
for (initialisation; condition; transition) commandes
for (expr1; expr2; expr3): commandes ... endfor;
for ($i = 1; $i <= 10; $i++) { echo $i;}
Structures de contrôle
$people = array( array('name' => 'Kalle', 'salt' => 856412), array('name' => 'Pierre', 'salt' => 215863));
for($i = 0; $i < count($people); ++$i) { $people[$i]['salt'] = mt_rand(000000, 999999);}
for($i = 0, $size = count($people); $i < $size; ++$i) { $people[$i]['salt'] = mt_rand(000000, 999999);}
Structures de contrôle
foreach (array_expression as $value) commandes
foreach (array_expression as $key => $value) commandes
$arr = array(1, 2, 3, 4);foreach ($arr as $value) { echo $value ;}
Structures de contrôle
<?php$arr = array("un", "deux", "trois");while (list($key, $value) = each($arr)) { echo "Clé : $key; Valeur : $value<br />\n";}
foreach ($arr as $key => $value) { echo "Clé : $key; Valeur : $value<br />\n";}?>
Structures de contrôle
$arr = array('un', 'deux', 'trois', 'quatre', 'stop', 'cinq');while (list(, $val) = each($arr)) { if ($val == 'stop') { break; /* Vous pourriez aussi utiliser 'break 1;' ici. */ } echo "$val<br />\n";}
while (list($key, $value) = each($arr)) { if (!($key % 2)) { // évite les membres impairs continue; } do_something_odd($value);}