从数组中获取前两个值并运行 foreach

Posted

技术标签:

【中文标题】从数组中获取前两个值并运行 foreach【英文标题】:Get first two values from an array and run foreach 【发布时间】:2019-02-22 07:05:41 【问题描述】:

我有如下所示格式的 json 数据

我正在尝试使用 foreach 为需要开始和结束日期作为参数的 API 构建 URL。

这里是 url 的例子 -> https://api.website.com/?action=export_ranking&startDate=2014-04-08&stopDate=2019-02-20

我的问题是,如何为从 json 数据中提取开始和结束日期的 API 构建 urls

我正在使用 php BTW。

非常感谢任何帮助。

【问题讨论】:

你可以做一个 for 循环并构建它。没有? 【参考方案1】:

你可以使用for:

var yourUrls; // new array
var yourDates = yourArray[dates];
for (i = 0; i < yourDates.length - 1; i++) 
  yourUrls.push("https://api.website.com/?action=export_ranking&startDate=" + yourDates[i].date + "&stopDate=" + yourDates[i + 1].date);
  // add the generated url to yourUrls

【讨论】:

我用JS做demo,因为我不懂PHP。但这个想法是使用从 (0 到数组长度 - 1) 的循环并选择每一对 (i , i+1)【参考方案2】:

@Khoa 的回答是正确的。这是PHP版本:

for($i = 0; $i < count($arr)-1; $i++) 
    $urls[] = "https://api.website.com/?action=export_ranking&startDate=" . $arr['dates'][$i]['date'] . "&stopDate=" . $arr['dates'][$i+1]['date'];

【讨论】:

以上是关于从数组中获取前两个值并运行 foreach的主要内容,如果未能解决你的问题,请参考以下文章

实例解析forEachfor...in与for...of

从两个排序数组中获取前 K 项而不合并它们

如何从文本文件中获取值并输入到二维数组中? C++

C#,抛出错误试图从二维数组中获取值并在 TryParse 中使用它

如何从数组中获取值并在zend框架工作中分配给视图

怎样从对象中获取键值并保存在对象中