Challenge - 5 Problems
PHP Object Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate2:00remaining
What is the output of this PHP code?
Consider this PHP code that creates a new object and accesses its property. What will it print?
PHP
<?php class Dog { public $name; public function __construct($name) { $this->name = $name; } } $dog = new Dog("Buddy"); echo $dog->name; ?>
Attempts:
2 left
💡 Hint
Look at how the constructor sets the property and what is echoed.
✗ Incorrect
The constructor sets the name property to 'Buddy'. Accessing $dog->name prints 'Buddy'.
❓ Predict Output
intermediate2:00remaining
What will this PHP code output?
This code creates two objects from the same class. What will be printed?
PHP
<?php class Counter { public static $count = 0; public function __construct() { self::$count++; } } $a = new Counter(); $b = new Counter(); echo Counter::$count; ?>
Attempts:
2 left
💡 Hint
Static properties are shared across all instances.
✗ Incorrect
Each time a Counter object is created, the static property $count increments. Two objects means $count is 2.
🔧 Debug
advanced2:00remaining
What error does this PHP code produce?
This code tries to create an object but has a mistake. What error will it cause?
PHP
<?php class Car { private $model; public function __construct($model) { $this->model = $model; } } $car = new Car(); echo $car->model; ?>
Attempts:
2 left
💡 Hint
Check the constructor parameters and how the object is created.
✗ Incorrect
The constructor requires one argument, but none was given, causing a fatal error.
📝 Syntax
advanced2:00remaining
Which option will cause a syntax error in PHP?
Look at these ways to instantiate an object. Which one is NOT valid PHP syntax?
Attempts:
2 left
💡 Hint
Check the use of brackets after the class name.
✗ Incorrect
Using square brackets [] after the class name is invalid syntax for object instantiation.
🚀 Application
expert3:00remaining
How many objects are created and what is the output?
This code creates objects inside a loop and prints a property. How many objects are created and what is printed?
PHP
<?php class Item { public $id; public function __construct($id) { $this->id = $id; } } $items = []; for ($i = 1; $i <= 3; $i++) { $items[] = new Item($i); } foreach ($items as $item) { echo $item->id . " "; } ?>
Attempts:
2 left
💡 Hint
Each loop iteration creates a new object with a different id.
✗ Incorrect
The loop runs 3 times, creating 3 objects with ids 1, 2, and 3. The foreach prints each id separated by space.