Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk memotong array dalam php? Pengenalan kepada fungsi terbina dalam

Bagaimana untuk memotong array dalam php? Pengenalan kepada fungsi terbina dalam

PHPz
PHPzasal
2023-04-20 15:06:071360semak imbas

Dalam PHP, kadangkala kita perlu memotong tatasusunan mengikut peraturan tertentu, seperti memotong mengikut nilai medan tertentu, atau memotong mengikut panjang tertentu, dsb. Pada masa ini, kita boleh menggunakan beberapa fungsi yang disediakan dalam PHP untuk menyelesaikan tugasan ini. Artikel ini akan memperkenalkan cara menggunakan fungsi PHP untuk memotong tatasusunan.

1. Gunakan fungsi array_chunk() untuk memotong tatasusunan

Fungsi array_chunk() boleh memotong tatasusunan mengikut panjang yang ditentukan, dan setiap bahagian potongan disimpan dalam item tatasusunan baharu dalam. Sintaks khusus adalah seperti berikut:

array array_chunk(array $array, int $size, bool $preserve_keys = false)

Maksud setiap parameter adalah seperti berikut:

  • $array: tatasusunan yang akan dipotong.
  • $size: Bilangan elemen yang terkandung dalam setiap item tatasusunan baharu.
  • $preserve_keys: Sama ada mahu mengekalkan nama kunci tatasusunan asal.

Contohnya, jika terdapat tatasusunan $nums=['1','2','3','4','5','6','7',' 8' ,'9'], kita ingin memotong tatasusunan ini supaya setiap item tatasusunan mengandungi 3 elemen, kita boleh menggunakan kod berikut:

$new_array = array_chunk($nums,3);
print_r($new_array);

Hasil output adalah seperti berikut:

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
        )

)

2. Gunakan fungsi array_slice() untuk memotong tatasusunan

Fungsi array_slice() boleh memotong tatasusunan mengikut julat indeks yang ditentukan dan mengembalikan tatasusunan yang dipotong. Sintaks khusus adalah seperti berikut:

array array_slice(array $array, int $offset, int $length = null, bool $preserve_keys = false)

Maksud setiap parameter adalah seperti berikut:

  • $array: tatasusunan yang akan dipotong.
  • $offset: indeks permulaan pemotongan.
  • $length: Panjang pemotongan Jika tidak dinyatakan, ia akan dipotong ke hujung tatasusunan.
  • $preserve_keys: Sama ada mahu mengekalkan nama kunci tatasusunan asal.

Contohnya, jika terdapat tatasusunan $nums=['1','2','3','4','5','6','7',' 8' ,'9'], kita ingin memotong tatasusunan ini daripada elemen ke-4 kepada elemen ke-7, kita boleh menggunakan kod berikut:

$new_array = array_slice($nums,3,4);
print_r($new_array);

Hasil output adalah seperti berikut:

Array
(
    [0] => 4
    [1] => 5
    [2] => 6
    [3] => 7
)

3. Gunakan fungsi array_filter() untuk memotong tatasusunan

Fungsi array_filter() boleh menapis tatasusunan mengikut peraturan yang ditetapkan dan mengembalikan tatasusunan yang memenuhi syarat. Sintaks khusus adalah seperti berikut:

array array_filter(array $array, callable $callback = null, int $flag = 0)

Maksud setiap parameter adalah seperti berikut:

  • $array: tatasusunan yang akan dipotong.
  • $callback: Fungsi penapis jika fungsi ditentukan, fungsi tersebut akan digunakan untuk menapis elemen tatasusunan.
  • $flag: Pengecam, menyatakan sama ada hubungan utama tatasusunan kekal utuh.

Contohnya, jika terdapat tatasusunan $nums=['1','2','3','4','5','6','7',' 8' ,'9'], kami ingin menapis elemen ganjil daripada tatasusunan ini, kami boleh menggunakan kod berikut:

$new_array = array_filter($nums,function($var){return ($var%2==1);});
print_r($new_array);

Hasil output adalah seperti berikut:

Array
(
    [0] => 1
    [2] => 3
    [4] => 5
    [6] => 7
    [8] => 9
)

4. Gunakan gelung foreach untuk memotong Array

Selain menggunakan fungsi yang disediakan oleh PHP untuk memotong tatasusunan, kita juga boleh menggunakan gelung foreach untuk menyelesaikan tugasan ini. Kod khusus adalah seperti berikut:

$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);

Hasil keluaran adalah seperti berikut:

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
        )

)

Di atas adalah empat kaedah menggunakan PHP untuk memotong tatasusunan Anda boleh memilih kaedah yang sesuai mengikut situasi sebenar.

Atas ialah kandungan terperinci Bagaimana untuk memotong array dalam php? Pengenalan kepada fungsi terbina dalam. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn