Как упростить проверку существующих переменных?

Собственно есть 4 переменные. Какая из низ задана - неизвестно. Действия для каждой переменной одно. Как можно получить заданную переменную, не проверяя отдельно каждую?

if(empty($first) and empty($second) and empty($third) and empty($fourth)){
  echo "Все пусты";
}else{
  //$desvar = ?;
  $que = "SELECT id FROM table WHERE id = ?";
  $prepque = $db->prepare($que);
  $prepque->bind_param("i", $desvar);
  $prepque->execute();
}

Ответы (2 шт):

Автор решения: Джордж Лукас

Сделайте функцию, передавайте в нее имена переменных, foreach перебирайте их и готово.

→ Ссылка
Автор решения: zippp

Как идея передавать параметры в виде массива, фильтровать его на пустые значения и сверять с исходным:

<?php

function validateValues(...$params)
{
    return empty(array_diff($params, array_filter($params)));
}

if (!checkValues($param1,$param2,$param3,$param4)) {
    // error
    echo 'error';
} else {
    // no errors
    echo 'no errors';
}

по умолчанию array_filter фильтрует null данные, если нужен какой-то другой критерий, можно передать анонимную функцию вторым параметром, где реализовать необходимую логику

→ Ссылка