我有一个多维数组,看起来像这样:
{
"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个数组的小数组。
我希望这是有意义的,我有点超出我的水平。
我想你的数组是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]
.....
编辑:哦,不知怎么的,我完全误解了这个问题。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
等。
我不确定提取一个有数百个可用值的数组有多聪明。