我有一个多维数组,如下所示:
{
"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个这些较小的数组。每个阵列。
我希望这是有道理的,我有点不在我的联盟中。总是感谢帮助。
答案 0 :(得分:1)
我认为你的数组是json格式。
首先对其进行解码,然后传递给array_chunk方法。
array_chunk($input_array, 300));
然后以$input_array[0][0]
,$input_array[0][1]
....... $input_array[0][299]
,$input_array[1][0]
,$input_array[1][1]
.....
答案 1 :(得分:0)
array_chunk
值得关注。
您可以尝试使用extract
将数组值提取到“全局”变量名称空间。
extract
有三个参数:你想要提取的数组,标志和前缀(如果需要的话)。
我不确定如何提取非关联数组,但您可以尝试
$full_array = array(
array( ... ),
array( ... ),
array( ... ),
array( ... ),
...
);
// EXTR_PREFIX_ALL prefixes all extracted keys with wanted prefix (the third param).
$extract_amount = extract( $full_array, EXTR_PREFIX_ALL, 'prefix' );
现在您应该提取数组,并且可以使用变量名$prefix0
,$prefix1
,$prefix2
等等。
我不确定提取具有数百个可用值的数组有多聪明。