Si vas a usar diferente cantidad de argumentos, puedes asignar valor por default a cada uno:
Código PHP:
Ver originalfuncion args_variables($a, $b = '', $c = '', $x = '') {
}
// De esta forma, solo los que no tienen un valor asignado son obligatorios
// Las siguientes llamadas no generan error:
args_variables('abcde');
args_variables('abc', 'def');
// Para evitar que salgan mensajes de advertencia debes poner la @
// antes de la instruccion que genera ese mensaje, ejemplo:
// Si llamas a la funcion args_variables sin argumentos, te genera mensaje de advertencia
args_variables();
// Si colocas la @ antes, no aparecera error, pero el comportamiento es impredecible
@args_variables();