Bird
Raised Fist0
PHPprogramming~5 mins

Instanceof operator in PHP - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the instanceof operator do in PHP?
It checks if an object is an instance of a specific class or implements a specific interface.
Click to reveal answer
beginner
How do you use instanceof to check if $obj is an instance of class Car?
Use <code>$obj instanceof Car</code>. It returns <code>true</code> if <code>$obj</code> is a Car or subclass of Car, otherwise <code>false</code>.
Click to reveal answer
intermediate
Can instanceof check if an object implements an interface?
Yes. It returns true if the object implements the interface, otherwise false.
Click to reveal answer
beginner
What will instanceof return if the variable is not an object?
It returns false because instanceof only works with objects.
Click to reveal answer
intermediate
Explain why instanceof is useful in PHP programming.
It helps to safely check an object's type before calling methods or accessing properties, preventing errors.
Click to reveal answer
What does $obj instanceof ClassName return if $obj is an instance of a subclass of ClassName?
Afalse
Btrue
Cnull
DThrows an error
Which of the following is true about instanceof in PHP?
AIt can check if an object implements an interface.
BIt can check if a variable is an integer.
CIt can check if a string contains a class name.
DIt can create a new instance of a class.
What will instanceof return if the variable is null?
Afalse
BThrows an error
Cnull
Dtrue
If $obj instanceof InterfaceName returns true, what does it mean?
A$obj is a subclass of InterfaceName.
B$obj is a string containing InterfaceName.
C$obj is an instance of a class that implements InterfaceName.
D$obj is an array.
Which of these is a correct use of instanceof?
Aif (MyClass instanceof $obj) { /* code */ }
Bif (instanceof $obj MyClass) { /* code */ }
Cif ($obj instanceof 'MyClass') { /* code */ }
Dif ($obj instanceof MyClass) { /* code */ }
Describe how the instanceof operator works in PHP and give an example.
Think about checking an object's type before using it.
You got /4 concepts.
    Explain why using instanceof can help prevent errors in PHP programs.
    Consider what happens if you call a method on a variable that is not an object.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the instanceof operator do in PHP?
      easy
      A. Creates a new instance of a class
      B. Checks if an object is an instance of a specific class or its subclass
      C. Deletes an object from memory
      D. Converts an object to a string

      Solution

      1. Step 1: Understand the purpose of instanceof

        The instanceof operator is used to check if a variable is an object of a certain class or subclass.
      2. Step 2: Differentiate from other operations

        It does not create, delete, or convert objects; it only checks their type.
      3. Final Answer:

        Checks if an object is an instance of a specific class or its subclass -> Option B
      4. Quick Check:

        instanceof checks object type [OK]
      Hint: Remember: instanceof checks object type, not creation or deletion [OK]
      Common Mistakes:
      • Confusing instanceof with object creation
      • Thinking instanceof deletes objects
      • Assuming instanceof converts objects to strings
      2. Which of the following is the correct syntax to check if $obj is an instance of class Car?
      easy
      A. if ($obj instance Car) {}
      B. if ($obj is Car) {}
      C. if (instanceof $obj Car) {}
      D. if ($obj instanceof Car) {}

      Solution

      1. Step 1: Recall correct instanceof syntax

        The correct syntax is: variable instanceof ClassName, without extra keywords or rearrangement.
      2. Step 2: Check each option

        if ($obj instanceof Car) {} matches the correct syntax exactly. Others have wrong keywords or order.
      3. Final Answer:

        if ($obj instanceof Car) {} -> Option D
      4. Quick Check:

        Correct instanceof syntax [OK]
      Hint: Syntax is always: variable instanceof ClassName [OK]
      Common Mistakes:
      • Using 'is' instead of 'instanceof'
      • Reversing order of variable and class
      • Adding extra keywords inside condition
      3. What will be the output of the following PHP code?
      $a = new DateTime();
      if ($a instanceof DateTime) {
          echo 'Yes';
      } else {
          echo 'No';
      }
      medium
      A. Yes
      B. No
      C. Error
      D. Nothing

      Solution

      1. Step 1: Understand object creation

        $a is created as a new instance of the DateTime class.
      2. Step 2: Check instanceof condition

        The condition $a instanceof DateTime is true because $a is exactly a DateTime object.
      3. Final Answer:

        Yes -> Option A
      4. Quick Check:

        Object is DateTime = Yes [OK]
      Hint: If object matches class, instanceof returns true [OK]
      Common Mistakes:
      • Assuming instanceof returns false for exact class
      • Expecting syntax error from instanceof
      • Ignoring else branch output
      4. Identify the error in this PHP code snippet:
      class Animal {}
      class Dog extends Animal {}
      $dog = new Dog();
      if ($dog instanceof 'Animal') {
          echo 'It is an animal';
      }
      medium
      A. Missing semicolon after class definition
      B. Incorrect object creation syntax
      C. Using quotes around class name in instanceof
      D. Using instanceof with a variable instead of object

      Solution

      1. Step 1: Check instanceof usage

        The instanceof operator expects a class name without quotes, not a string.
      2. Step 2: Verify other parts

        Classes and object creation are correct; semicolons are present.
      3. Final Answer:

        Using quotes around class name in instanceof -> Option C
      4. Quick Check:

        Class name must be unquoted in instanceof [OK]
      Hint: Do not put quotes around class names in instanceof [OK]
      Common Mistakes:
      • Putting class names in quotes inside instanceof
      • Confusing instanceof with string comparison
      • Missing semicolons elsewhere (not in this code)
      5. Given the classes below, what will be the output?
      class Vehicle {}
      class Car extends Vehicle {}
      class Bike extends Vehicle {}
      
      function checkVehicle($obj) {
          if ($obj instanceof Car) {
              return 'Car';
          } elseif ($obj instanceof Vehicle) {
              return 'Vehicle';
          } else {
              return 'Unknown';
          }
      }
      
      $myBike = new Bike();
      echo checkVehicle($myBike);
      hard
      A. Vehicle
      B. Unknown
      C. Car
      D. Error

      Solution

      1. Step 1: Analyze object type

        $myBike is an instance of Bike, which extends Vehicle.
      2. Step 2: Follow function logic

        First condition checks if $obj is Car - false. Second checks if $obj is Vehicle - true because Bike is subclass of Vehicle.
      3. Final Answer:

        Vehicle -> Option A
      4. Quick Check:

        Bike is a Vehicle, not Car = Vehicle [OK]
      Hint: Check subclass before superclass in instanceof chains [OK]
      Common Mistakes:
      • Expecting 'Car' for Bike object
      • Ignoring subclass relationship in instanceof
      • Assuming instanceof only matches exact class
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard