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