带API的PHP函数有多少个请求?
我有以下带API的PHP函数有多少个请求?,php,function,api,loops,request,Php,Function,Api,Loops,Request,我有以下函数,它从API URL请求数据。我想知道,如果我用不同的参数调用函数5次,这等于对API?的5个请求 如果这是真的,我想避免“太多的请求”。我想把文件\u get\u contents(),json\u decode()和$url放在函数外部,这样我就可以从url请求一次数据,但我必须在函数中声明变量为globals,我发现这是一种糟糕的方法 function apiReq($type, $day){ $url2 = "http://api.example.com/../..
函数
,它从API URL请求数据。我想知道,如果我用不同的参数调用函数5次,这等于对API?的5个请求
如果这是真的,我想避免“太多的请求”。我想把文件\u get\u contents()
,json\u decode()
和$url
放在函数外部,这样我就可以从url请求一次数据,但我必须在函数中声明变量为globals
,我发现这是一种糟糕的方法
function apiReq($type, $day){
$url2 = "http://api.example.com/../.../../";
$str2 = file_get_contents($url2);
$decode_two = json_decode($str2, TRUE);
foreach($decode_two['teams'][$type][$day] as $item ) {
if (isset($item['name']['initial'])) {
echo $item['name']['initial'];
}
echo $item['name']['surname'];
echo $item['shirt'];
echo '</br>';
}
}
apiReq('A', 'Monday');
apiReq('B', 'Tuesday');
echo '</br>';
apiReq('C', 'Monday');
apiReq('D', 'Tuesday');
apiReq('F', 'Friday');
函数apiReq($type,$day){
$url2=”http://api.example.com/../.../../";
$str2=文件获取内容($url2);
$decode\u two=json\u decode($str2,TRUE);
foreach($decode_两个['teams'][$type][$day]作为$item){
如果(isset($item['name']['initial'])){
echo$item['name']['initial'];
}
echo$item['name']['name'];
echo$item['shirt'];
回音“”;
}
}
apiReq(“A”、“星期一”);
apiReq(“B”,“星期二”);
回音“”;
apiReq(“C”,“星期一”);
apiReq(“D”,“星期二”);
apiReq(“F”、“星期五”);
避免“太多请求”的最佳方法是什么
谢谢您传递一个数组,该数组存储类似于[[“type”=>$type,“day”=>$day]]]
的内容,而不是调用函数5次,因为您每次都请求相同的URL,所以您可以在该数组上循环
例如:
// Get an array as parameter
// |
// V
function apiReq($TypesAndDays){
$url2 = "http://api.example.com/../.../../";
$str2 = file_get_contents($url2);
$decode_two = json_decode($str2, TRUE);
// Loop over that array
foreach ($TypesAndDays as $TypeAndDay)
{
// set $type and $day
$type = $TypeAndDay['type'];
$day = $TypeAndDay['day'];
// the rest of your code remains unchanged
foreach($decode_two['teams'][$type][$day] as $item ) {
if (isset($item['name']['initial'])) {
echo $item['name']['initial'];
}
echo $item['name']['surname'];
echo $item['shirt'];
echo '</br>';
}
}
}
$TypesAndDays = [
[ 'type' => 'A', 'day' => 'Monday' ],
[ 'type' => 'B', 'day' => 'Tuesday' ],
[ 'type' => 'C', 'day' => 'Monday' ],
[ 'type' => 'D', 'day' => 'Tuesday' ],
[ 'type' => 'F', 'day' => 'Friday' ]
];
apiReq($TypesAndDays);
//获取数组作为参数
// |
//五
函数apiReq($TypesAndDays){
$url2=”http://api.example.com/../.../../";
$str2=文件获取内容($url2);
$decode\u two=json\u decode($str2,TRUE);
//在那个数组上循环
foreach($TypesAndDays作为$TypeAndDay)
{
//设置$type和$day
$type=$TypeAndDay['type'];
$day=$TypeAndDay['day'];
//代码的其余部分保持不变
foreach($decode_两个['teams'][$type][$day]作为$item){
如果(isset($item['name']['initial'])){
echo$item['name']['initial'];
}
echo$item['name']['name'];
echo$item['shirt'];
回音“”;
}
}
}
$typesandday=[
['type'=>'A','day'=>'Monday'],
['键入'=>'B','日期'=>'星期二'],
['type'=>'C','day'=>'Monday'],
['type'=>'D','day'=>'sunday'],
['键入'=>'F','日期'=>'星期五']
];
apiReq($TypesAndDays);
传递一个数组,该数组存储类似于[[“type”=>$type,“day”=>$day]]]
的内容,而不是调用函数5次,因为您每次都请求相同的URL,所以可以在该数组上循环
例如:
// Get an array as parameter
// |
// V
function apiReq($TypesAndDays){
$url2 = "http://api.example.com/../.../../";
$str2 = file_get_contents($url2);
$decode_two = json_decode($str2, TRUE);
// Loop over that array
foreach ($TypesAndDays as $TypeAndDay)
{
// set $type and $day
$type = $TypeAndDay['type'];
$day = $TypeAndDay['day'];
// the rest of your code remains unchanged
foreach($decode_two['teams'][$type][$day] as $item ) {
if (isset($item['name']['initial'])) {
echo $item['name']['initial'];
}
echo $item['name']['surname'];
echo $item['shirt'];
echo '</br>';
}
}
}
$TypesAndDays = [
[ 'type' => 'A', 'day' => 'Monday' ],
[ 'type' => 'B', 'day' => 'Tuesday' ],
[ 'type' => 'C', 'day' => 'Monday' ],
[ 'type' => 'D', 'day' => 'Tuesday' ],
[ 'type' => 'F', 'day' => 'Friday' ]
];
apiReq($TypesAndDays);
//获取数组作为参数
// |
//五
函数apiReq($TypesAndDays){
$url2=”http://api.example.com/../.../../";
$str2=文件获取内容($url2);
$decode\u two=json\u decode($str2,TRUE);
//在那个数组上循环
foreach($TypesAndDays作为$TypeAndDay)
{
//设置$type和$day
$type=$TypeAndDay['type'];
$day=$TypeAndDay['day'];
//代码的其余部分保持不变
foreach($decode_两个['teams'][$type][$day]作为$item){
如果(isset($item['name']['initial'])){
echo$item['name']['initial'];
}
echo$item['name']['name'];
echo$item['shirt'];
回音“”;
}
}
}
$typesandday=[
['type'=>'A','day'=>'Monday'],
['键入'=>'B','日期'=>'星期二'],
['type'=>'C','day'=>'Monday'],
['type'=>'D','day'=>'sunday'],
['键入'=>'F','日期'=>'星期五']
];
apiReq($TypesAndDays);
api中的数据是否会因每个不同的请求而改变?如果是,则使用$type
和$day
的不同参数可以进行多少种可能的数据组合?感谢您的回复。数据每周更改五次,有许多可能的组合可用。有从A、B、C到K的类型和从星期一到星期六的日期。所有这些都是可能的组合。如果不同的用户访问存储的数据副本,是否会有隐私问题,或者本质上是无害的?从理论上讲,您可以为每个用户保存数据的每日副本$type@RamRaider我认为不会有任何关于隐私的问题,因为数据不是机密的。困扰我的是请求,我想避免提出很多请求,因为有很多组合。第二个想法是首先将数据存储在另一个数据库上,然后从那里提取数据。如果每天和5天都有A-K个可能的$types
,那么这是否等于每周最多55个可能的组合?api中的数据是否会因每个不同的请求而变化?如果是,则使用$type
和$day
的不同参数可以进行多少种可能的数据组合?感谢您的回复。数据每周更改五次,有许多可能的组合可用。有从A、B、C到K的类型和从星期一到星期六的日期。所有这些都是可能的组合。如果不同的用户访问存储的数据副本,是否会有隐私问题,或者本质上是无害的?从理论上讲,您可以为每个用户保存数据的每日副本$type@RamRaider我认为不会有任何关于隐私的问题,因为数据不是机密的。困扰我的是请求,我想避免提出很多请求,因为有很多组合。第二个想法是首先将数据存储在另一个数据库中,然后从那里提取数据。如果每天有A-K个可能的$types
,并且有5个可能的天,那么这是否等于每周最多55个可能的组合?谢谢回答。有趣的方法,我想知道每次函数