Tools Blog Learn Quizzes Smile API Log In / Sign Up
Tools Blog Learn Quizzes Smile API Log In / Sign Up
« Return to the quizzes list
We have updated the website and our policies to make sure your privacy rights and security are respected.
Click here to learn more about the way our website handles your data.

Remove this message.

Advanced PHP Quiz

Topic: PHP/MySQL Last updated on: 01-22-2018

This is an advanced PHP Quiz. It contains questions for seasoned developers about namespaces, traits, handlers and settings, command line execution, exception handling, OOP and other modern PHP features and functions.

1.Considering the code below, which of these statements are true?

    ini_set("allow_url_fopen", "1");
    $page = file_get_contents("");
    echo "Successfully fetched website contents";
    echo "An error has occurred";

2.What output will this code produce ?

    class Disney
        public $cartoon;

        function __construct($cartoon)
            $this->cartoon = $cartoon;

    $disney = new Disney("The Beauty and The Beast");
    $waltDisney = $disney;
    $waltDisney->cartoon = "Pinocchio";
    echo $disney->cartoon;

3.What happens when you run the following MySQL Query ?


4.When working with unfamiliar code, what is the best way to find out in which file a class is defined ?

  $reflection = new ReflectionClass('ClassName');
  echo $reflection->getFileName();

  $out = array();
  exec("grep -r 'Classname' .", $out);

  $classes = get_declared_classes();

5.What is the output of the code below ?

  $a = array();
  $a[0] = 1;
  echo ($a != null) ? 'True' : 'False';

6.What is the output of the code below ?

    namespace animals;

    ini_set('error_reporting', E_ALL);
    ini_set('display_errors', 'on');

    class Cat
      static function Definition()
        return 'Cats are ' . __NAMESPACE__;

    namespace animals\pets;

    class Cat
      static function Definition()
        return 'Cats are ' . __NAMESPACE__;

    echo Cat::Definition();    

7.Which of the statements about traits below are true ?

8.When running PHP's built in FastCGI Process Manager (FPM) which of the following statements are true ?

9.Which of the following functions will sort an array in ascending order by value, while preserving key associations?

10.Which of the following functions could be used to break a string into an array?

11.What is the output of the following code block? $array = array(1 => 0, 2, 3, 4); array_splice($array, 3, count($array), array_merge(array('x'), array_slice($array, 3))); var_dump($array);

12.What is the result of the following code snippet? $array = array('a' => 'John', 'b' => 'Coggeshall', 'c' => array('d' => 'John', 'e' => 'Smith')); function something($array) { extract($array); return $c['e']; } print something($array);

13.Given the following array: $array = array(1,1,2,3,4,4,5,6,6,6,6,3,2,2,2); The fastest way to determine the total number a particular value appears in the array is to use which function?

14.The following code snippet displays what for the resultant array? $a = array(1 => 0, 3 => 2, 4 => 6); $b = array(3 => 1, 4 => 3, 6 => 4); print_r(array_intersect($a, $b));

15.Which of the following tags are an acceptable way to begin a PHP Code block?

16.Which of the following will NOT instantiate a DateTime object with the current timestamp?

17.Transactions are used to...

18.What would you replace ??????? with, below, to make the string Hello, World! be displayed? function myfunction() { /* ??????? */ print $string; } myfunction("Hello, World!");

19.How to access standard error stream in PHP ?

20.When checking to see if two variables contain the same instance of an object, which of the following comparisons should be used?

21.What is wrong with the following code? function duplicate($obj) { $newObj = $obj; return $newObj; } $a = new MyClass(); $a_copy = duplicate($a); $a->setValue(10); $a_copy->setValue(20);

22.Type-hinting and the instanceof keyword can be used to check what types of things about variables?

23.Which php.ini directive should be disabled to prevent the execution of a remote PHP script via an include or require construct?

24.Consider the following code: session_start(); if(!empty($_REQUEST['id']) && !empty($_REQUEST['quantity'])) { $id = scrub_id($_REQUEST['id']); $quantity = scrub_quantity($_REQUEST['quantity']) $_SESSION['cart'][] = array('id' => $id, 'quantity' => $quantity) } /* .... */ What potential security hole would this code snippet produce?

25.For an arbitrary string $mystring, which of the following checks will correctly determine if the string PHP exists within it?

26.A fingerprint of a string can be determined using which of the following?

27.What is the output of the following code? $string = "14302"; $string[$string[2]] = "4"; print $string;

28.To destroy a PHP session completely, one must which of the following?

29.Consider the following HTML fragment: <select name="???????" multiple> <option value="1">Item #1</option> <!-- ... more options ... --> </select> Which of the following name attributes should be used to capture all of the data from the user in PHP?

30.Consider the following function: function redirect($url) { // Check to make sure we haven't already sent // the header: if(/*???????*/) { header("Location: $url"); } } What conditional should replace the ????? above?

Finish Quiz