在PHP中,有時候我們需要將一個陣列按照一定的規則進行切割,例如按照某個字段的值進行切割,或者按照一定的長度進行切割等等。這時候,我們可以使用PHP中提供的一些函數來完成這個任務。本文將介紹如何使用PHP函數來切割陣列。
一、使用array_chunk()函數來切割數組
array_chunk()函數可以將一個陣列按照指定的長度進行切割,每個切割出來的部分保存在一個新的數組項裡面。具體的語法如下:
array array_chunk(array $array, int $size, bool $preserve_keys = false)
各個參數的意義如下:
例如,如果有一個陣列$nums=['1','2','3','4','5','6','7','8' ,'9'],我們想將這個陣列依照每個陣列項目包含3個元素來切割,可以使用以下程式碼:
$new_array = array_chunk($nums,3); print_r($new_array);
輸出結果如下:
Array ( [0] => Array ( [0] => 1 [1] => 2 [2] => 3 ) [1] => Array ( [0] => 4 [1] => 5 [2] => 6 ) [2] => Array ( [0] => 7 [1] => 8 [2] => 9 ) )
二、使用array_slice ()函數來切割陣列
array_slice()函數可以依照指定的索引範圍來切割數組,傳回切割後的陣列。具體的語法如下:
array array_slice(array $array, int $offset, int $length = null, bool $preserve_keys = false)
各個參數的意義如下:
例如,如果有一個陣列$nums=['1','2','3','4','5','6','7','8' ,'9'],我們想將這個陣列從第4個元素開始切割到第7個元素,可以使用以下程式碼:
$new_array = array_slice($nums,3,4); print_r($new_array);
輸出結果如下:
Array ( [0] => 4 [1] => 5 [2] => 6 [3] => 7 )
三、使用array_filter()函數來切割陣列
array_filter()函數可以將一個陣列依照指定的規則過濾,傳回符合條件的陣列。具體的語法如下:
array array_filter(array $array, callable $callback = null, int $flag = 0)
各個參數的意義如下:
例如,如果有一個陣列$nums=['1','2','3','4','5','6','7','8' ,'9'],我們想將這個陣列過濾出奇數元素,可以使用如下程式碼:
$new_array = array_filter($nums,function($var){return ($var%2==1);}); print_r($new_array);
輸出結果如下:
Array ( [0] => 1 [2] => 3 [4] => 5 [6] => 7 [8] => 9 )
四、使用foreach迴圈來切割陣列
除了使用PHP提供的函數來切割數組,我們也可以使用foreach迴圈來完成這個任務。具體的程式碼如下:
$nums=['1','2','3','4','5','6','7','8','9']; $new_array=array(); $temp_array=array(); foreach ($nums as $key=>$value){ $temp_array[]=$value; if(($key+1)%3==0||$key==count($nums)-1){ $new_array[]=$temp_array; $temp_array=array(); } } print_r($new_array);
輸出結果如下:
Array ( [0] => Array ( [0] => 1 [1] => 2 [2] => 3 ) [1] => Array ( [0] => 4 [1] => 5 [2] => 6 ) [2] => Array ( [0] => 7 [1] => 8 [2] => 9 ) )
以上就是使用PHP來切割陣列的四種方法,您可以根據實際情況選擇合適的方法來完成任務。
以上是php怎麼切割數組?內建函數介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!