【发布时间】:2014-08-21 06:09:54
【问题描述】:
我有一个如下所示的多维数组:
{
"groups": [
{
"__v": 0,
"_create_date": "2014-08-20T23:00:12.901Z",
"_id": "53f5287ca78473a969001827",
"_last_message_date": "2014-08-20T23:04:36.347Z",
"activity": 0,
"blocked_users": [],
"created_by": {
"_id": "53e84b0eba84943c6d0003f8",
"_last_modified": "2014-08-20T00:11:05.399Z",
"first_name": "Jegg",
"last_name": "V"
},
"curated": false,
"diversity": 0,
"featured": false,
"flagged": false,
"last_message": {
"text": "let's talk beo",
"created_by": {
"_id": "53e84b0eba84943c6d0003f8",
"first_name": "Jegg",
"last_name": "V"
},
"_id": "53f52984a78473a969001833",
"_create_date": "2014-08-20T23:04:36.347Z"
},
"member_count": 1,
"messages_count": 1,
"name": "Test",
"public": true,
"recency": 52182276.347,
"score": 52182276.347,
"tags": []
},
这种结构重复超过 3000 次,创建了一个非常大的多维数组。我想我可以使用 array_chunk($array, 300) 将数组分成更小的块。但我不知道如何准确地访问它们。
我想要做的是独立循环遍历新分块的数组。所以我想最终得到类似的东西:
$array1 = {...}
$array2 = {...}
$array3 = {...}
$array4 = {...}
...等等
然后我可以遍历每个新创建的数组,这些数组本质上是原始数组的较小组,但是在一个多维数组中包含 3000 个数组,就像我最初拥有的那样,我最终得到了 300 个中较小的数组每个数组。
我希望这是有道理的,我有点不合群。我们总是感谢您的帮助。
【问题讨论】:
-
这不是 PHP 数组。准确重复了哪一部分?
-
您希望通过这样拆分阵列获得什么?我不得不想象这样的结构 * 3000 加上 300 个单独的数组将使用非无关紧要的内存量。
-
您可以像
$resultarray[0],$resultarray[1].....$resultarray[n]这样访问结果数组,其中每个$resultarray[]包含300 个项目 -
是的,它是一个解码的 JSON 响应。我实际上不打算在活动站点上运行它,它会按计划运行以生成带有 JSON 对象中数据的 HTML 站点地图。但是出于 SEO 的原因,我每页不能写超过 300 条记录,所以我需要创建许多不同的页面。我的想法(可能是蹩脚的)是遍历每个新数组并为每个限制为每页 300 个的单独的 HTML 文件编写一个单独的 HTML 文件。 @bansi 可能有用,我怎么才能知道创建了多少块?
-
使用count
count($resultarray)
标签: php arrays multidimensional-array