Chame uma função PHP com número variável de argumentos
Ao lidar com funções PHP que aceitam um número variável de argumentos, o número de parâmetros passado para a função pode ser determinado com base no comprimento de uma matriz. Para conseguir isso, o PHP fornece várias técnicas:
call_user_func_array
Se os argumentos forem armazenados em um array, a função call_user_func_array pode ser empregada. Esta função aceita um array como seu segundo parâmetro, que contém os argumentos da função.
Exemplo:
function test() { var_dump(func_num_args()); var_dump(func_get_args()); } $params = [ 10, 'glop', 'test', ]; call_user_func_array('test', $params);
Este código produzirá:
int 3 array 0 => int 10 1 => string 'glop' (length=4) 2 => string 'test' (length=4)
for Loop
Outra opção é usar um loop for para iterar sobre o array e passar cada elemento como um argumento para a função.
Exemplo:
function test($num1, $str1, $str2) { var_dump(func_get_args()); } $params = [ 10, 'glop', 'test', ]; for ($i = 0; $iEste código produzirá:
array(1) { [0] => int 10 } array(1) { [0] => string 'glop' (length=4) } array(1) { [0] => string 'test' (length=4) }Ao utilizar essas técnicas, você pode efetivamente chamar funções PHP com um número variável de argumentos com base no comprimento de um array.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3