- array_filter: documentation ( source)
- current: documentation ( source)
<?php
function coalesce($default, &...$args) {
return current(array_filter($args)) ?: $default;
}
$empty1 = [];
$empty2 = '';
$value1 = 'not empty!';
echo coalesce('default', $empty1, $undefined, $empty2);
echo coalesce('default', $empty1, $undefined, $value1, $empty2);