Opérations, fonctions et dates en php
Transcription
Opérations, fonctions et dates en php
Programmation orientée serveur : Opérations, fonctions et dates en php : Les opérations : Opérateurs arithmétique : Opérateur : Description : Exemple : + Addition x=1; x+1; Soustraction x=1; x-1; * Multiplication x=2; x*2; / Division x=2; x/2; % Reste d’une division x=5; 5%2; ++ Incrémentation (de 1) x=1; x++; -Décrémentation (de 1) x=1; x--; Opérateurs d’affectations : Opérateur : Exemple : = x=y; += x+=y; -= x-=y; *= x*=y; /= x/=y; .= x.=y; %= x%=y; Opérateurs de comparaison : Opérateur : Description : == Est égal à != Est différent de (valable pour « tout ») <> Est différent de (chiffre uniquement) < Est plus petit que > Est plus grand que <= Est plus petit ou égal que >= Est plus grand ou égal que Opérateurs logiques : Opérateur : Description : && Et Résultat : 2 0 4 1 1 2 0 Revient à : x=y; x=x+y; x=x-y; x=x*y; x=x/y; x=x.y; x=x%y; Exemple : (1==2) Return false (1!=2) Return true (1<>2) Return true (1<2) Return true (1>2) Return false (1<=2) Return true (1>=2) Return false Exemple : x=1; y=3; (x<4 && y>2) True || Ou x=1; y=3; (x=4 || y>2) True ! Non x=1; y=3; !(x!=y) False Les structures conditionnelles (if – else, for, while, do, switch) sont présentes en php et s’utilisent comme en C. Les fonctions : Il existe de très nombreuses fonctions php (cf cours n°2), cependant il est tout de même possible de créer sa propre fonction. Une fonction définie de la sorte, cf ci-dessous, peut être appelée n’importe où dans la page (même si elle n’est pas déclarée dans le même block php). function nomFonction($argumentSiNécessaire) { code à exécuter; } Voici quelques exemples fonctionnels réalisé en TD : $v1="Il y a cinq mots"; $v2="J'ai pensé à mettre six mots"; Fonction sans retour : function compterMots($arg1) { $nbt=strlen($arg1); $nbm=0; if($arg1[0]!=' ') $nbm=$nbm+1; for($i=0 ; $i<=$nbt ; $i++) { $carac=$arg1[$i]; $caracsuiv=$arg1[$i+1]; if ($carac==' ' && $caracsuiv!=' ') $nbm=$nbm+1; } echo $arg1 . " : " . $nbm . " mots</br>"; } Deux espaces Résultat : compterMots($v2); J'ai pensé à mettre six mots : 6 mots Fonction avec retour : function nombreMots($arg1) { $nbt=strlen($arg1); $nbm=0; if($arg1[0]!=' ') $nbm=$nbm+1; for($i=0 ; $i<=$nbt ; $i++) { $carac=$arg1[$i]; $caracsuiv=$arg1[$i+1]; if ($carac==' ' && $caracsuiv!=' ') $nbm=$nbm+1; } return $nbm; } $nbm=nombreMots($v2); echo $nbm; Retourne le nombre de mots (stocké dans $nbm) Résultat : 6 Fonction utilisant une autre fonction personnalisée : function inverserPhrase($arg1) { $nbt=strlen($arg1); $nbm=nombreMots($arg1); $nbmr=$nbm; $y=0; for($i=0 ; $i<=$nbt ; $i++) { $carac=$arg1[$i]; $caracsuiv=$arg1[$i+1]; if ($carac==' ' && $caracsuiv!=' ') { $array[$nbmr]=substr($arg1, $y, $i-$y); $nbmr=$nbmr-1; $y=$i+1; } if ($carac==$arg1[$nbt]){ $array[$nbmr]=substr($arg1, $y, $i-$y); } } echo $arg1 . " : "; for ($t=0;$t<=$nbm;$t++) { echo $array[$t] . " "; } } inverserPhrase($v1); echo "</br>"; inverserPhrase($v2); Appelle la fonction prédéfinie « strlen » Appelle la fonction créée dans le même fichier .php Appelle la fonction prédéfinie « substr » Résultat : Il y a cinq mots : mots cinq a y Il J'ai pensé à mettre six mots : mots six mettre à pensé J'ai Fonction utilisant un do et la fonction rand(=random) : function genererMdp($arg1) { $compteur=0; $chiffre=0; $caractere=0; $mdp = ""; $uneArray = str_split($arg1); do{ $pileFace = rand(0,1); if ($chiffre<4 && $caractere<4){ if ($pileFace == 0){ $unrand1 = rand(0,strlen($arg1)); $mdp = $mdp . $uneArray[$unrand1]; $caractere++; }else{ $unrand2 = rand(0,9); $mdp = $mdp . $unrand2; $chiffre++; } }else{ if($chiffre=4){ $unrand1 = rand(0,strlen($arg1)); $mdp = $mdp . $uneArray[$unrand1]; $caractere++; }else{ if($caractere=4){ $unrand2 = rand(0,9); $mdp = $mdp . $unrand2; $chiffre++; } } } $compteur ++; }while($compteur<8); for($i=0 ; $i<8 ; $i++){ while($mdp[$i]==' ') { $mdp[$i]=$uneArray[$unrand1]; } } return $mdp; } echo $v1 . " | mot de passe : " . genererMdp($v1) . "</br>"; echo $v2 . " | mot de passe : " . genererMdp($v2); Début du do, contrairement au while le do fait minimum un tour de la boucle (la condition se rentre à la fin cf « ← condition ») Retourne un entier aléatoire entre 0 et 9. ← condition Résultat : Il y a cinq mots | mot de passe : t6443tlt J'ai pensé à mettre six mots | mot de passe : 9eee21rr Les dates : echo "le jour d'aujourd’hui est le " . date("d m Y") . "<br>"; le jour d'aujourd’hui est le 10 10 2015 echo "il est " . date(G) . "h". date(i) . "min<br>"; il est 14h57min La fonction « mktime » : Retourne le timestamp UNIX d'une date Syntaxe : int mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] ) Exemple : echo mktime(date("H") ,date("i") , date("s") , date("n") , date("j") , date("Y") , -1 ); Résultat : 1444481879