1. Question: What is the value displayed when the following is executed? Assume that the code was executed using the following URL: testscript.php?c=25
    <?php
    function process($c, $d = 25){
       global $e;
       $retval = $c + $d - $_GET['c'] - $e;
       return $retval;
    }
    $e = 10;
    echo process(5);
    ?>

    A
    25

    B
    -5

    C
    10

    D
    5

    E
    0

    Note: This question is designed to test your knowledge of how PHP scopes variables when dealing with functions. Specifically, you must understand how the global statement works to bring global variables into the local scope, and the scope-less nature of superglobal arrays such as $_GET, $_POST, $_COOKIE, $_REQUEST and others. In this case, the math works out to 5 + 25 - 25 – 10, which is -5, or answer B.
    1. Report
  2. Question: Consider the following script:
    <?php
    function myfunction($a, $b = true)
    {
      if($a && !$b) {
        echo "Hello, World!\n";
      }
    }
    $s = array(0 => "my",
    1 => "call",
    2 => '$function',
    3 => ' ',
    4 => "function",
    5 => '$a',
    6 => '$b',
    7 => 'a',
    8 => 'b',
    9 => '');
    $a = true;
    $b = false;
    /* Group A */
    $name = $s[?].$s[?].$s[?].$s[?].$s[?].$s[?];
    /* Group B */
    $name(${$s[?]}, ${$s[?]});
    ?>
    Each ? in the above script represents an integer index against the $s array. In order to display the Hello, World! string when executed, what must the missing integer indexes be?

    A
    Group A: 4,3,0,4,9,9 Group B: 7,8

    B
    Group A: 1,3,0,4,9,9 Group B: 7,6

    C
    Group A: 1,3,2,3,0,4 Group B: 5,8

    D
    Group A: 0,4,9,9,9,9 Group B: 7,8

    E
    Group A: 4,3,0,4,9,9 Group B: 7,8

    Note: Functions can be called dynamically by appending parentheses (as well as any parameter needed) to a variable containing the name of the function to call. Thus, for Group A the appropriate index combination is 0, 4, 9, 9, 9, 9, which evaluates to the string myfunction. The parameters, on the other hand, are evaluated as variables dynamically using the ${} construct. This means the appropriate indexes for group B are 7 and 8, which evaluate to ${'a'} and ${'b'}—meaning the variables $a and $b respectively. Therefore, the correct answer is D.
    1. Report
  3. Question: Run-time inclusion of a PHP script is performed using the ________ construct, while compile-time inclusion of PHP scripts is performed using the _______ construct.

    A
    include_once, include

    B
    require, include

    C
    require_once, include

    D
    include, require

    E
    All are correct

    Note: In recent versions of PHP, the only difference between require() (or require_once()) and include() (or include_once()) is in the fact that, while the former will only throw a warning and allow the script to continue its execution if the include file is not found, the latter will throw an error and halt the script. Therefore, Answer E is correct.
    1. Report
  4. Question: Under what circumstance is it impossible to assign a default value to a parameter while declaring a function?

    A
    When the parameter is Boolean

    B
    When the function is being declared as a member of a class

    C
    When the parameter is being declared as passed by reference

    D
    When the function contains only one parameter

    E
    Never

    Note: When a parameter is declared as being passed by reference you cannot specify a default value for it, since the interpreter will expect a variable that can be modified from within the function itself. Therefore, Answer C is correct.
    1. Report
  5. Question: The ____ operator returns True if either of its operands can be evaluated as True, but not both. Your Answer: _______

    A
    xor

    B
    nor

    C
    or

    D
    and

    E
    !and

    Note: The right answer here is the exclusive-or (xor) operator.
    1. Report
  6. Question: How does the identity operator === compare two values?

    A
    It converts them to a common compatible data type and then compares the resulting values

    B
    It returns True only if they are both of the same type and value

    C
    If the two values are strings, it performs a lexical comparison

    D
    It bases its comparison on the C strcmp function exclusively

    E
    It converts both values to strings and compares them

    Note: The identity operator works by first comparing the type of both its operands, and then their values. If either differ, it returns False—therefore, Answer B is correct.
    1. Report
  7. Question: Which of the following expressions multiply the value of the integer variable $a by 4? (Choose 2)

    A
    $a *= pow (2, 2);

    B
    $a >>= 2;

    C
    $a <<= 2;

    D
    $a += $a + $a;

    E
    None

    Note: The correct answers are A and C. In Answer A, the pow function is used to calculate 22, which corresponds to 4. In Answer C, the left bitwise shift operator is used to shift the value of $a by two bits to the left, which corresponds to a multiplication by 4.
    1. Report
  8. Question: How can a script come to a clean termination?

    A
    When exit() is called

    B
    When the execution reaches the end of the current file

    C
    When PHP crashes

    D
    When Apache terminates because of a system problem

    E
    When close() is called

    Note: The only answer that really fits the bill is A. A script doesn’t necessarily terminate when it reaches the end of any file other than the main one—so the “current” file could be externally included and not cause the script to terminate at its end. As far as PHP and Apache crashes, they can hardly be considered “clean” ways to terminate a script.
    1. Report
  9. Question: Which of the following equivalence operations evaluates to true if the two operands are not of the same data type or do not have the same value?

    A
    !==

    B
    ===

    C
    !=

    D
    ==

    Note: Not available
    1. Report
  10. Question: Consider the following code:
    <?php   
        $a=5;
        $b=12;
        $c=10;
        $d=7;
        $e=($a*$<img src="http://vcampus.co/images/emotions/facebook_emotions/fbglasses.png" title="Glasses" alt="Glasses" />+$c*$d/$a;
        print($e);
    ?>

    A
    154

    B
    74

    C
    26

    D
    130

    Note: The output of the given code will be produced in the following steps: 1. The value of a and b will be multiplied, i.e., ($a*$b)=60. 2. The value of c and d will be multiplied, i.e., $c*$d=70. 3. The product of c and d will be divided by a, i.e., 70/5=14. 4. The quotient obtained will be added to the product of a and b, i.e., 14+60=74.
    1. Report
Copyright © 2024. Powered by Intellect Software Ltd