Bird
0
0

Consider this PHP code:

hard📝 Application Q9 of 15
PHP - Classes and Objects
Consider this PHP code:
class User {
  public $name;
  public $email;
  public function __construct($data) {
    $this->name = $data['name'] ?? 'Guest';
    $this->email = $data['email'] ?? '';
  }
}
$user = new User(['email' => 'user@example.com']);
echo $user->name . ' - ' . $user->email;

What is the output?
AGuest - user@example.com
B - user@example.com
Cuser@example.com - Guest
DError: Undefined index name
Step-by-Step Solution
Solution:
  1. Step 1: Understand null coalescing operator usage

    The constructor uses ?? to provide default values if keys are missing.
  2. Step 2: Check input array and assigned values

    'name' key is missing, so 'Guest' is assigned; 'email' key exists and is assigned.
  3. Step 3: Determine echo output

    Output is 'Guest - user@example.com'.
  4. Final Answer:

    Guest - user@example.com -> Option A
  5. Quick Check:

    Null coalescing sets defaults = output correct values [OK]
Quick Trick: Use ?? to set default values in constructor [OK]
Common Mistakes:
  • Expecting error for missing array key
  • Confusing order of output
  • Ignoring default value usage

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More PHP Quizzes