首頁 後端開發 PHP問題 php怎麼切割數組?內建函數介紹

php怎麼切割數組?內建函數介紹

Apr 20, 2023 pm 03:06 PM

在PHP中,有時候我們需要將一個陣列按照一定的規則進行切割,例如按照某個字段的值進行切割,或者按照一定的長度進行切割等等。這時候,我們可以使用PHP中提供的一些函數來完成這個任務。本文將介紹如何使用PHP函數來切割陣列。

一、使用array_chunk()函數來切割數組

array_chunk()函數可以將一個陣列按照指定的長度進行切割,每個切割出來的部分保存在一個新的數組項裡面。具體的語法如下:

array array_chunk(array $array, int $size, bool $preserve_keys = false)
登入後複製

各個參數的意義如下:

  • $array: 要切割的陣列。
  • $size: 每個新的陣列項目包含的元素個數。
  • $preserve_keys: 是否保留原數組的鍵名。

例如,如果有一個陣列$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)
登入後複製

各個參數的意義如下:

  • $array: 要切割的陣列。
  • $offset: 切割的開始索引。
  • $length: 切割的長度,如果不指定,將會切割到陣列結尾。
  • $preserve_keys: 是否保留原數組的鍵名。

例如,如果有一個陣列$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)
登入後複製

各個參數的意義如下:

  • $array: 要切割的陣列。
  • $callback: 過濾函數,如果指定了函數,函數將用於過濾數組元素。
  • $flag: 標識符,指定數組的鍵關係是否保持原樣。

例如,如果有一個陣列$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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)