PHP Test Flashcards
(48 cards)
Que contiennent (principalement) les outils XAMP, WAMP ou MAMP ?
PHP
Serveur Web
SGBD (Système de Gestion de Base de Données)
Veuillez indiquer la balise ouvrante permettant d’ajouter du code PHP
Veuillez indiquer la balise fermante d’une partie de code PHP
?>
code PHP permettant d’initialiser une constante avec la valeur de Pi (3.1415)
const PI = 3.1415;
variable
commence toujours par le caractère $
// ceci est une variable contenant une valeur entière $var1 = 14; // ceci est une variable contenant une valeur réelle $var2 = 45.67;
variable dynamique
variable dont on peut construire dynamiquement le nom.
// exemple $i = 1; ${"varDynamique".$i} = 5; // correspond à $varDynamique1 = 5;
Le nom d’une variable dynamique peut provenir d’une autre variable.
La variable dynamique se reconnaît au $$
$variable1 = 1; $variable2 = 2; $nom = "variable1"; echo \$\$nom; // affichera 1 $nom = "variable2"; echo \$\$nom; // affichera 2
Qu’affichera le code suivant ?
$unBoolean = true;
echo $unBoolean;
1
Qu’affichera le code suivant ?
$unBoolean = false;
echo $unBoolean;
rien
Doit-on typer les variables en PHP ?
Non, les variables en PHP ne doivent pas être typées.
Comment détruit-on une variable en PHP ?
A l’aide de la fonction unset(nomVariable);
$tab = [1,2,3,4,5,7]; // Création d'un tableau //... unset($tab); // Destruction du tableau
Quelles sont les deux manières de créer des chaînes de caractères ?
- Avec des doubles guillemets
$chaine1 = “Ceci est une chaîne de caractères”; - Avec des simples guillemets
$chaine1 = ‘Ceci est aussi une chaîne de caractères’;
Qu’affichera le code suivant :
$variable1 = “En voilà une surprise”;
echo “$variable1 : interessante”;
En voilà une surprise interessante
Remarque : $variable1 a été remplacé par le contenu de la variable
Qu’affichera le code suivant :
$variable1 = “En voilà une surprise”;
echo ‘$variable1 : interessante’;
$variable1 : interessante
Comment savoir si une variable est d’un certain type ?
A l'aide des fonctions suivantes : is_bool(uneVariable); is_int(uneVariable); is_integer(uneVariable); is_float(uneVariable); is_double(uneVariable); is_array(uneVariable); is_string(uneVariable); is_object(uneVariable); is_null(uneVariable); is_resource(uneVariable); is_callable(uneVariable); is_iterable(uneVariable);
Qu’affichera le code suivant ?
$chaine = ‘test’;
if ($chaine) {
echo ‘$chaine a été traité comme true’, ‘<br></br>’;
} else {
echo ‘$chaine a été traité comme false’, ‘<br></br>’;
}
$chaine a été traité comme true
Remarque : Toutes les variables quelque soit leurs types peuvent être utilisées comme si elles étaient de type booléen dans une condition ! Les valeurs : - false; - 0 - 0.0 - " ou "" (chaînes vides) - '0' ou "0" (chaînes contenant zéro) - Un tableau vide - null sont considérées comme étant false Toutes les autres valeurs sont considérées comme étant true
Peut-on convertir le contenu d’une chaîne en un entier ?
- Oui à l’aide du transtypage.
$chaine = ‘12’;
$entier = (int) $chaine; // $entier vaudra 12 - ou à l’aide de la fonction settype(uneVariable);
$variable = ‘12’;
settype($variable, “int”);
var_dump($variable); // affichera int(12)
Quelle est la différence entre :
l’opérateur d’affectation =
et
l’opérateur d’affectation par référence = & … ? (Veuillez donner un exemple)
- L'opérateur d'affectation = "copie" le contenu de la variable. Exemple : $var1 = 5; $var2 = $var1; // $var2 vaut 5 $var2++; // $var2 vaut 6 echo $var1, '<br>'; // Affiche 5 echo $var2; // Affiche 6
- L’opérateur d’affectation par référence = & … “met” une référence sur la variable
Exemple :
$var1 = 5;
$var2 = &$var1; // $var2 contient une référence à $var1 => 5
$var2++; // $var2 vaut 6 (mais $var1 aussi !)
echo $var1, ‘<br></br>’; // Affiche 6
echo $var2; // Affiche 6
Qu’affichera l’exécution du code suivant :
$texte = “Des petits trous, “ . “des petits trous, “ . “toujours des petits
trous”;
echo $texte;
Des petits trous, des petits trous, toujours des petits trous
Qu'affichera l'exécution du code suivant : $var1 = 5; $var2 = 6; $var3 = '6'; $var4 = $var1 + 1; echo "1 ", $var1 <=> $var2; echo '<br>'; echo "2 ", $var2 == $var3; echo '<br>'; echo "3 ", $var3 === $var4;
1 -1
2 1
3
1 -1 l’opérateur <=> retourne -1 car 5 est plus petit que 6
2 1 l’opérateur == retourne true (affiche 1) car les valeurs 6 et ‘6’ sont équivalentes
3 l’opérateur === retourne false (affiche rien !) car les valeurs ‘6’ et 6 sont
équivalentes MAIS PAS DU MEME TYPE.
Que fait l’opérateur XOR ? (Veuillez donner un exemple)
Le XOR correspond à un ou exclusif . Il faut qu’un seul des deux opérandes soit vrai ( true )
$joueur1aGagne = true; $joueur2aGagne = false; if ($joueur1aGagne XOR $joueur2aGagne) { echo "Il y a un gagnant"; } else { echo "Il n'y a pas un seul gagnant (peut-être ex ex aequo)"; }
Qu’affichera l’exécution du code suivant :
echo 4 * 3 ** 2;
L’exécution du code affichera : 36
(4 fois (3 puissance 2))
Remarque : L’opérateur ** (puissance) a la priorité par rapport à l’opérateur *
(multiplication) .
Soit l’instruction suivante :
echo $a < $b ? ‘A est inférieur à B’ : ‘A est supérieur ou égal à B’;
De quel opérateur s’agit-il ? Que va faire ce code ?
Il s’agit de l’opérateur ternaire.
Cette instruction permet d’afficher un résultat différentié suivant la condition.
Elle signifie :
Si le contenu de la variable $a est plus petit que celui de la variable $b affiche :
- A est inférieur à B
sinon affiche :
- A est supérieur ou égal à B
Qu’affichera l’exécution du code suivant :
$tab = [2,5,6,8];
$code = $tab ? 256 : 568;
echo $code;
Il s’agit toujours de l’opérateur ternaire. Une variable peut être utilisée comme un booléen.
Comme le tableau $tab n’est pas vide il sera interprété comme true . Donc $code vaudra
256
L’exécution du code affichera donc : 256
Qu'affichera l'exécution du code suivant : $baies = ['framboise', 'fraise', 'cassis', 'mûre']; foreach ($baies as $baie) { switch ($baie) { case "mûre": echo 'On passe par là'; echo 'br'; case 'fraise': echo 'On passe par ici'; echo 'br'; case "framboise": echo 'On passe'; echo 'br'; break; default : echo 'Non, rien de rien'; echo 'br'; } }
On passe On passe par ici On passe Non, rien de rien On passe par là On passe par ici On passe
"; }
"; ```
'; echo 'max : ', $minMax['max'], '
'; ```
'; afficheSomme(10.4, 9.5);
'; // pour que les espaces soient gérés correctement ;-) printf("% 10.2f",$montant1); echo ''; ```
'; printf("% 10.2f",$montant2); echo '
'; } echo '
'; for($i=0; $i'; } // var_dump($tab); ``` affiche: a c a pourquoi?