Php 找到最合适的数值x可被

Php 找到最合适的数值x可被,php,mysql,xml,Php,Mysql,Xml,我有一个问题,我现在已经设法解决了,但是一旦x发生变化,这个问题就无法解决 我需要做的 从数据库获取所有项目(此数据库不是我的,因此数据可能随时更改),并获取该项目的ID。 对于我从这个表单中获得的每个ID,我需要从另一个创建xml输出的源获取数据。 现在它创建了一个带有ID、物品购买价格、物品销售价格等的数组。。。和insert on duplicate key更新我自己数据库中的表 以下是我面临的一些限制: 1.我从中获取商品价格数据等的数据源不允许url长度超过8149个字符。 2.数据源

我有一个问题,我现在已经设法解决了,但是一旦x发生变化,这个问题就无法解决

我需要做的

从数据库获取所有项目(此数据库不是我的,因此数据可能随时更改),并获取该项目的ID。 对于我从这个表单中获得的每个ID,我需要从另一个创建xml输出的源获取数据。 现在它创建了一个带有ID、物品购买价格、物品销售价格等的数组。。。和insert on duplicate key更新我自己数据库中的表

以下是我面临的一些限制: 1.我从中获取商品价格数据等的数据源不允许url长度超过8149个字符。 2.数据源也不喜欢它,当我发出数千个单项目请求时(目前有9350个项目,也就是9350个单项目请求意味着我将很快被列入黑名单)。 3.项目数量在未来可能会发生变化(或少或多)

此时,一切正常,通过在foreach循环中对项目ID数组执行if循环($i++),直到我达到9350(一次将50个项目ID的集合放入url)。 对于每个第50项,函数都会使用给定的url执行一个curl请求,在我的服务器上使用数据创建一个新的xml文件,从而在我的服务器上生成187个xml文件(这非常有效)

之后,我读取每个xml文件并将数据转储到自己的表中

简而言之,我的问题是:

9350 / 50 = 187 (a round number)
但一旦我有了9351个或更多的项目,它就不能再被50整除(不是整数)

有没有人对如何做到这一点有更好的想法

详情: 项目数据来自EVE在线数据库转储,因此具有可变数量的ID。 商品价格来自对eve central.com/api/marketstat?itemid=xxxxxxx&itemid=xxxxxx&systemid=xxxxxx的url调用(大致最大值为60*itemid=)

编辑: foreach循环

 $i = 0;
    $j = 0;
    foreach($itemidarray as $itemid){
        $id = $itemid["itemID"];
        if($i == 50){
            $j++;
            $url .= '&typeid=';
            $url .= "$id";
            $url .= '&usesystem=30000421';
            xmlcreatorfunction($url, $j);
            $i = 0;
        }
        else{
            $url .= '&typeid=';
            $url .= "$id";
            $i++;
        }
    }

我希望您能看到,一旦我有超过9350个项目id,这可能会引发问题。

“但一旦我有9351个或更多的项目,它就不能再被50整除(不是整数)。”–这是个什么问题?等等,我将编辑originalUse,将您的数组拆分为一个多维数组,每个子数组中有50个条目(或最后一个子数组中的条目更少),然后在第一个维度上循环,在第二个维度上的外部循环中循环,并在内部循环的末尾对数据执行某些操作…