QCM sur PHP – Niveau avancé – Partie 2

QCM sur PHP avec des réponses pour la préparation des entretiens d’embauche, des tests en ligne, aux examens et aux certifications. Ces questions et réponses sur PHP comprennent divers sujets. Et sont tirés d’un vrai entretien écrit et certaines parties sont en direct. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son test sur PHP.
 
 

1. À quoi sert la fonction suivante quand deux valeurs entières sont passées en paramètre?
<?php 
   function f($a, $b)
   {  
        return ($b == 0) ?  $a  :  f($b,  $a % $b);
   }
?>

A Change les valeurs de $a et $b.

B Détermine si elles sont paires ou impaires.

C Détermine le plus grand commun diviseur entre eux.

D Boucles infini.

C
Ceci est la condition ternaire de if. La condition est vraie alors appelle la fonction f() en passant $b comme premier argument et modulo de $a et $b comme second argument, ceci continue jusqu’à $b == 0 et renvoie la valeur de $a. Il détermine le plus grand commun diviseur entre $a et $b.

 

2. Laquelle des affirmations suivantes explique la différence entre print() et echo()?

A Vous pouvez utiliser print() pour afficher des nombres alors que vous ne pouvez pas utiliser echo pour cela.

B Vous ne pouvez pas utiliser echo() avec des opérateurs au niveau des bits, mais vous pouvez utiliser print() pour cela.

C Il n’y a pas de différence entre les fonctions echo() et print().

D Vous pouvez utiliser print() dans une expression alors que vous ne pouvez pas utiliser echo().

D
print() et echo() affichent le même comportement, il existe une grande différence entre eux. print() est une construction de langage qui se comporte comme une fonction avec sa propre valeur de retour, ce qui vous permet de l’utiliser comme expression. echo() est une construction de langage qui n’a pas de valeur de retour, vous ne pouvez donc pas l’utiliser comme expression.
Différence entre echo et print en PHP

 

3. Quelle sera la sortie du script PHP ci-dessous?
<?php 
      echo (int)((0.1 + 0.7) * 10);
?>

A 8

B 7

C 10

D Le script PHP retournera un message d’erreur.

B
L’expression ((0.1 + 0.7) * 10) doit être évaluée à 8. Toutefois, la sortie de l’expression dans le script est évaluée à 7 car le moteur PHP stocke la valeur de l’expression en interne sous la forme 7.999999 au lieu de 7. Lorsque la valeur fractionnelle est converti en un entier, le moteur PHP tronque simplement la partie fractionnaire. Lorsque la valeur est convertie en int, PHP tronque simplement la partie décimale, ce qui entraîne une erreur assez importante (12,5%, pour être exact).

 

4. Parmi les fonctionnalités suivantes, quelles sont les suivantes sont obsolète dans PHP 5.3?

A ereg()

B split()

C is_a()

D Aucune de ces réponses n’est vraie.

C
Les options A et B sont incorrectes. ereg(), split() sont des fonctionnalités obsolètes de PHP.

 

 

5. Lequel des types d’erreur suivants interrompt l’exécution d’un script PHP et ne peut pas être intercepté?

A Fatal error

B Warning

C Notice

D Compile-time error

A
Fatal error est une erreur qui stoppe l’exécution d’un script et ne peut pas être interceptée.

L’option B est incorrecte. Warning est une erreur récupérable qui indique une erreur d’exécution, mais n’interrompt pas l’exécution du script.

L’option C est incorrecte. Notice est une indication qu’une condition d’erreur s’est produite, mais ce n’est pas nécessairement significatif. Cela n’arrête pas l’exécution du script.

L’option D est incorrecte. Une erreur de compilation est détectée par l’interpréteur.

 

6. Que fait l’extrait de code suivant?
$a = `ls -l`;

A La sortie de la commande UNIX ls sera stockée dans $a.

B Cela provoquera un message warning.

C Cela provoquera une erreur.

D Il ne donnera aucun résultat car ls -l n’est qu’une chaîne de caractéres simples.

A
L’opérateur backtick permet d’exécuter une commande shell et d’extraire sa sortie. Ainsi, $a va stocker le contenu du répertoire de travail actuel.

 

7. Que fait l’extrait de code suivant?
    $a =30;
    while($a<10)
    {
        $a--;
    }
    print($a);

A 30

B 10

C 0

D Le script va lancer un message d’erreur.

A
L’instruction while exécute un bloc d’instructions lorsque la condition est vraie. L’instruction while évalue l’expression qui renvoie une valeur booléenne. Si l’expression du bloc while est évaluée à true, l’instruction while exécute les instructions du bloc while. L’instruction while continue à exécuter le bloc jusqu’à ce que l’expression soit évaluée à false. Dans le code ci-dessus, l’expression dans l’instruction while est évaluée à false et par conséquent, 30 est affiché dans la sortie.

 

8. Que fait l’extrait de code suivant?
   echo strtotime("january 1, 1901");

A 167312

B 17653

C 0

D -1

D
Dans tout système d’exploitation où des versions plus anciennes de la bibliothèque glibc sont présentes, la fonction strtotime() ne pourra pas identifier les dates antérieures à la période UNIX du 1er janvier 1970 à minuit UTC. Par conséquent, la sortie du script sera -1.

 

9. Quelle est la sortie du code PHP suivant?
<?php
    define('BAR', 5);
    $array = array(5 => BAR,"BAR" => 10);
    print $array[$array[BAR]] * $array["BAR"];
?>

A 5

B 10

C 50

D BAR

C
Dans cette question, $array["BAR"] = 10 et $array[$array[BAR]] = 5, BAR est une constant avec la valeur 5, donc $array[$array[5]] * $array["BAR"];, sera évalué à 50.

 

10. Quelle est la sortie du code PHP suivant?
<?php
      switch(1) {
         case 1: print("Le choix 1"); 
         case 2: print("Le choix 2"); 
         default: print("Le choix par defaut");
      }
?>

A Le choix 1

B Le choix 2

C Le choix par defaut

D Il affichera toutes les trois lignes.

E Le script va lancer une erreur.

D
Le script donné s’exécutera correctement et affichera les trois lignes en sortie. L’expression « switch » a la valeur 1; cela correspond à la valeur littérale spécifiée dans chaque instruction « case ». « Le choix 1 » a la valeur correspondante, mais comme il n’y a pas d’instruction break après celle-ci, toutes les instructions sont exécutées.

 

 
 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *