PHP將乙個二維陣列對半切割成乙個新的二維陣列

2022-03-12 15:41:06 字數 1433 閱讀 3925

需求:因為之前的帖子列表,是一行放乙個,所以直接乙個迴圈即可。現在新增加了乙個模組,這個模組的帖子列表樣式是一行放兩個,本來想讓前端做成自適應,這樣就可以共用乙個陣列list的,但是由於歷史版本是使用的table標籤,所以最後還是需要改下列表的資料結構。

具體問題點:如下截圖,就是對乙個二維陣列按片段拆分,並且按新增指定字尾進行合併,成乙個新陣列

會遇到的問題:拆分與合併中,主要是對於二維陣列,如果是單數,就會導致後一般(加_s字尾的一段不全),這裡對於二維陣列如果只有 1個,2個,或是超過2個以上的並且是單數和的,這三種做特殊對待,其他的直接按規則處理。

最後**如下:直接傳入需要處理的二維陣列,最後方法返回處理後的陣列

/*

* * 將乙個二維陣列對半切切開拼接成乙個新的陣列

* 如陣列[[1],[2],[3],[4],[5]]對切割成[[1,2],[3.4][5]]

* @param [type] $threaddb

* @return void */

function splitinhalfarray($threaddb

)

$threaddb_new_web = $threaddb_new

;

break

;

case 2://

帖子有二個

$threaddb_new = current($threaddb);//

獲取第乙個陣列,直接追加

//獲取最後乙個陣列,新增鍵名字尾'_s'後,再次追加

foreach(end($threaddb) as

$key => $value

)

$threaddb_new_web[0] = $threaddb_new

;

break

;

default://

帖子有三個(含三)個以上

$n = 0;

foreach($threaddb

as$key => $value

) }

else

}if($n % 2 == 0)

elseif($n == $threaddb_count && $n % 2 != 0)

$threaddb_new_web = $threaddb_new_web_tail

; }}}

return

$threaddb_new_web

;}

寫在最後,上面陣列截圖,就是處理之後的。當然,如果二維陣列是單數,就是如下,最後乙個只有前半,因為後一般已經沒有資料了。

php將乙個二維陣列分頁

將乙個二維陣列分頁,假設每頁顯示10條 乙個列表的分頁,一般是從資料庫查出來,查出來是乙個二維陣列,然後渲染到列表,這裡分頁就是查資料庫的時候只查每頁的條數,如果每頁有十條,就只查十條,但是這個二維陣列不是從資料庫查出來的呢,而是最開始就把所有的資料存在這個陣列裡面了,也要渲染到列表,怎麼分頁,有乙...

將乙個二維陣列合併成乙個一維陣列

大家都知道php有內建的陣列合併函式array merage arr,arr1,arr2,arr3 那如何把乙個二維陣列如array array a 1,b 2 array c 3,d 4 合併成如下的陣列 第一種 方法當然是遞迴法呢,如下 newarray array function chang...

PHP把2個二維陣列合併乙個二維陣列2種解法

題目 有以下2個二維陣列 1 a array 0 array id 66,class name www.iiwnet.com 1 array id 67,class name linux 2 b array 0 array class count 8 1 array class count 2 兩個...