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

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

PHPz
Lepaskan: 2023-04-20 15:38:56
asal
1452 orang telah melayarinya

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)
Salin selepas log masuk

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);
Salin selepas log masuk

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
        )

)
Salin selepas log masuk
Salin selepas log masuk

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)
Salin selepas log masuk

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);
Salin selepas log masuk

Hasil output adalah seperti berikut:

Array
(
    [0] => 4
    [1] => 5
    [2] => 6
    [3] => 7
)
Salin selepas log masuk

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)
Salin selepas log masuk

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);
Salin selepas log masuk

Hasil output adalah seperti berikut:

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

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);
Salin selepas log masuk

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
        )

)
Salin selepas log masuk
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan