php null coalescing operator empty string code example

Example 1: null coalescing operator php

// The null coalescing operator (??) is used to replace the ternary operation
// in conjunction with isset() function and returns its first operand if it
// exists and is NOT NULL; otherwise it returns its second operand.
$username = $_GET['username'] ?? 'not passed';

// Equivalent code using ternary operator
$username = isset($_GET['username']) ? $_GET['username'] : 'not passed';

Example 2: php null coalesce

// if $_POST['name'] doesn't exist $result will equal to John
$result = $_POST['name'] ?? 'John';

Example 3: php ?? vs ?:

<?php
var_dump(null ?? '`null` is null'); // `null` is null
var_dump(null ?: '`null` is empty'); // null
var_dump(true ?? '`true` is null'); // true
var_dump(true ?: '`true` is empty'); // true
var_dump(false ?? '`false` is null'); // false
var_dump(false ?: '`false` is empty'); // `false` is empty"
var_dump('' ?? 'empty string is null'); // ""
var_dump('' ?: 'empty string is empty'); // "empty string is empty"
var_dump(empty(null) ?: '`null` is not empty'); // true

Tags:

Php Example