Eu sei que este é um post antigo, mas eu estava tendo um problema como o OP e foi isso que eu descobri.
Exemplo de array que você poderia passar. Você poderia solicitar novamente se um pedido específico fosse necessário, mas para esta pergunta, fará o que for solicitado.
$argument_set = array (8 => 'lots', 5 => 'of', 1 => 'data', 2 => 'here');
Isso é gerenciável, fácil de ler e os pontos de extração de dados podem ser adicionados e removidos em qualquer momento da codificação e ainda evitar uma reescrita em massa. Usei chaves inteiras para calcular a pergunta original do OP, mas as chaves de string podem ser usadas com a mesma facilidade. Na verdade, para facilitar a leitura, eu o aconselharia.
Cole isso em um arquivo externo para facilitar
function unknown_number_arguments($argument_set) {
foreach ($argument_set as $key => $value) {
# create a switch with all the cases you need. as you loop the array
# keys only your submitted $keys values will be found with the switch.
switch ($key) {
case 1:
# do stuff with $value
break;
case 2:
# do stuff with $value;
break;
case 3:
# key 3 omitted, this wont execute
break;
case 5:
# do stuff with $value;
break;
case 8:
# do stuff with $value;
break;
default:
# no match from the array, do error logging?
break;
}
}
return;
}
coloque isso no início se o arquivo.
$argument_set = array();
Apenas use-os para atribuir a próxima parte de dados, use numeração / nomeação de acordo com a origem dos dados.
$argument_set[1][] = $some_variable;
E finalmente passe o array
unknown_number_arguments($argument_set);