gpt4 book ai didi

php - 传递变量参数列表

转载 作者:行者123 更新时间:2023-12-04 05:28:02 25 4
gpt4 key购买 nike

鉴于冗余,有没有更好的方法来做到这一点?如果是这样,它会是什么样子?

注意第一个 $method参数,在 $api 中作为函数名传递类,并且不得作为参数传递给 API 函数。此后的每个论点都可能不存在。

function jsonRequest( $method )
{
$api = new JsonRpcClient( 'https://api.example.com' );
switch ( func_num_args() ) {
case 2:
$result = $api->$method( 'AccountRef', 'APIKey', func_get_arg( 1 ) );
break; case 3:
$result = $api->$method( 'AccountRef', 'APIKey', func_get_arg( 1 ), func_get_arg( 2 ) );
break; case 4:
$result = $api->$method( 'AccountRef', 'APIKey', func_get_arg( 1 ), func_get_arg( 2 ), func_get_arg( 3 ) );
break; case 5:
$result = $api->$method( 'AccountRef', 'APIKey', func_get_arg( 1 ), func_get_arg( 2 ), func_get_arg( 3 ), func_get_arg( 4 ) );
break;
}
return json_decode( $result );
}

最佳答案

您应该使用 call_user_func_array :

$data = array_merge(array('AccountRef', 'APIKey'), func_get_args());

call_user_func_array(array($api, $method), $data);

来源: http://php.net/manual/en/function.call-user-func-array.php

关于php - 传递变量参数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12967089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com