Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 多维数组在单个数组中执行多个操作但需要所有项_Arrays_Loops_Multidimensional Array_Coldfusion - Fatal编程技术网

Arrays 多维数组在单个数组中执行多个操作但需要所有项

Arrays 多维数组在单个数组中执行多个操作但需要所有项,arrays,loops,multidimensional-array,coldfusion,Arrays,Loops,Multidimensional Array,Coldfusion,我正在开发一个玩家价格跟踪功能,每个请求返回50个结果,我将发送8个请求,因此我将返回400个结果 我希望所有400个结果都在多维数组中(因为我希望有一个元素存储玩家的评级,另一个元素存储价格),并在一定程度上具有功能 // DEFAULT VARIABLES Variables.binArray = arrayNew(1); Variables.startPosition = 0; // LOOP 8x50 TIMES = 400 CARDS for (i=1; i <= 8; i++

我正在开发一个玩家价格跟踪功能,每个请求返回50个结果,我将发送8个请求,因此我将返回400个结果

我希望所有400个结果都在多维数组中(因为我希望有一个元素存储玩家的评级,另一个元素存储价格),并在一定程度上具有功能

// DEFAULT VARIABLES
Variables.binArray = arrayNew(1);
Variables.startPosition = 0;

// LOOP 8x50 TIMES = 400 CARDS
for (i=1; i <= 8; i++) {
    // DO SEARCH
    Variables.searchPlayer = Application.cfcs.Search.doPlayerSearch(URL.assetID,0,"",0,0,0,0,Variables.startPosition,ListLast(Session.pricingAccountPhishingKey,"="),Session.pricingAccountSessionKey);
    if (Variables.searchPlayer.StatusCode EQ "200 OK") {
        Variables.searchResults = DeserializeJSON(Variables.searchPlayer.FileContent);
        Variables.numResults = arrayLen(Variables.searchResults.auctionInfo);
        // IF MORE THAN ONE RESULT RETURNED
        if (StructKeyExists(Variables,"numResults") AND Variables.numResults GT 0) {
            // LOOP ROUND RESULTS
            for (j=1; j<=Variables.numResults; j++) {
                // SET BIN PRICE FROM LOWEST CARD
                if (Variables.searchResults.auctionInfo[i].itemData.assetID EQ URL.assetID AND Variables.searchResults.auctionInfo[i].buyNowPrice GT 0 AND Variables.searchResults.auctionInfo[i].sellerName NEQ "Mendoza Juniors") {
                    binArray[j] = arrayNew(1);
                    binArray[j][1] = Variables.searchResults.auctionInfo[j].itemData.rating;
                    binArray[j][2] = Variables.searchResults.auctionInfo[j].buyNowPrice;
                }
            }
        }
    }
    // INCREASE START POSITION
    Variables.startPosition = Variables.startPosition + 50;
}
//默认变量
Variables.binArray=arrayNew(1);
Variables.startPosition=0;
//循环8x50次=400张卡

对于(i=1;i您应该将二进制数组视为3D数组

if (Variables.searchResults.auctionInfo[i].itemData.assetID EQ URL.assetID AND Variables.searchResults.auctionInfo[i].buyNowPrice GT 0 AND Variables.searchResults.auctionInfo[i].sellerName NEQ "Mendoza Juniors") {
      binArray[i][j] = arrayNew(1);
      binArray[i][j][1] = Variables.searchResults.auctionInfo[j].itemData.rating;
      binArray[i][j][2] = Variables.searchResults.auctionInfo[j].buyNowPrice;
}
这将创建一个数组,其结果如下:

[1..8][1..50][1..2]

您在每个j循环上覆盖二进制数组,因此即使i循环大于1,二进制数组[j]在其第一个循环过程中也始终为1。您需要首先找到数组长度

因此,尝试改变这一点:

binArray[j] = arrayNew(1);
binArray[j][1] = Variables.searchResults.auctionInfo[j].itemData.rating;
binArray[j][2] = Variables.searchResults.auctionInfo[j].buyNowPrice;
为此:

jj = ArrayLen(binArray)+1;
binArray[jj] = arrayNew(1);
binArray[jj][1] = Variables.searchResults.auctionInfo[j].itemData.rating;
binArray[jj][2] = Variables.searchResults.auctionInfo[j].buyNowPrice;

这不会创建8个数组吗?不,它只更新1个数组。实际上,您当前8次重新创建二进制数组,我怀疑多维数组是否是此处使用的正确数据结构。当然
binArray[j]
(在原始代码中)应该是基于
评级
买入价格
的结构,而不是基于
1
2
索引的数组。我实际上已经完全改变了方法,现在正在将结果添加到查询中,因为我需要获得每个评级的最低价格,所以使用qoq允许我这样做,除非您需要数据与最低价商品无关,也许你应该更多地改变你的方法,这样你就不会在你不需要的东西上浪费资源。