[英]Split Multidimensional Array into Smaller Arrays
我有一個多維數組,如下所示:
{
"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
到“全局”變量名稱空間。
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
等。
我不確定提取具有數百個可用值的數組有多聰明。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.