Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pembelajaran tatasusunan PHP: cara memintas serpihan elemen (dua cara)

Pembelajaran tatasusunan PHP: cara memintas serpihan elemen (dua cara)

青灯夜游
青灯夜游asal
2021-08-19 15:48:067079semak imbas

Dalam artikel sebelumnya "Cara mengalih keluar elemen sewenang-wenang dalam pembelajaran tatasusunan PHP", kami memperkenalkan kaedah menggunakan fungsi array_splice() untuk memadam satu atau lebih elemen tatasusunan. Kali ini kami meneruskan kajian tatasusunan PHP dan memperkenalkan kaedah memintas tatasusunan dan mendapatkan beberapa elemen Rakan yang berminat boleh mempelajarinya~

Dalam kajian terdahulu, kami belajar tentang memintas rentetan dan mendapatkan sub-elemen boleh menggunakan substr() dan mb_substr(). Jadi bagaimana jika tatasusunan dipintas dan elemen tatasusunan separa dikembalikan? Bagaimana kita melakukan ini? Berikut adalah dua kaedah untuk memperkenalkan kepada anda.

Kaedah 1: Gunakan fungsi array_splice()

Ya, fungsi array_splice()! Kita tahu bahawa fungsi array_splice() boleh menambah, memadam, dan menggantikan elemen tatasusunan Bagaimana ia boleh memintas tatasusunan?

Itu kerana apabila fungsi array_splice() memadamkan beberapa elemen tatasusunan, ia akan membentuk tatasusunan baharu dengan elemen yang dipadam ini dan kemudian mengembalikan tatasusunan baharu ini, oleh itu, fungsi array_splice() boleh digunakan untuk memintas serpihan tatasusunan.

Mari kita lihat contoh kecil di bawah:

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(10,12,20,25,24);
echo "原数组:";
var_dump($arr); 

echo "截取的数组片段:";
$result = array_splice($arr,2);  //截取从下标2开始的全部数组元素
var_dump($result);

$arr = array(10,12,20,25,24);
$result = array_splice($arr,1,2);//截取从下标1开始的两个元素
var_dump($result);

?>

Hasil keluarannya ialah:

Pembelajaran tatasusunan PHP: cara memintas serpihan elemen (dua cara)

OK! Menggunakan fungsi array_splice($array,$start,$length) kita boleh memintas serpihan tatasusunan dengan panjang tertentu (nilai $start) berdasarkan subskrip tatasusunan (nilai $length). Ingat bahawa fungsi array_splice() akan menukar tatasusunan asal!

Oleh kerana fungsi pemadaman array_splice() telah diterangkan secara terperinci dalam artikel sebelum ini, saya tidak akan memperkenalkannya secara terperinci di sini Jika anda tidak faham, anda boleh membaca " Cara Membuang PHP Array Learning Mana-mana elemen 》. Seterusnya kita belajar tentang kaedah kedua memintas tatasusunan!

Kaedah 2: Gunakan fungsi array_slice()

fungsi array_slice() ialah fungsi yang disediakan oleh PHP untuk memintas tatasusunan daripada Ekstrak serpihan daripada tatasusunan. Mari kita lihat fungsi array_slice():

array_slice($array,$start,$length,$preserve)

Fungsi ini menyokong 2 parameter yang diperlukan: $array dan $start, dan dua parameter yang ditinggalkan $length dan $preserve.

Tidak perlu memperkenalkan parameter $array Parameter $start digunakan untuk menentukan kedudukan permulaan (subskrip) bagi pemintasan ditinggalkan, ia akan bermula dari yang ditentukan Bermula dari subskrip dan berterusan ke penghujung tatasusunan). $length

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(10,12,20,25,24);
echo "原数组:";
var_dump($arr); 

echo "截取的数组片段:";
$result = array_slice($arr,2); //截取从下标2开始的全部数组元素
var_dump($result);

$result = array_slice($arr,1,2); //截取从下标1开始的两个元素
var_dump($result);

?>
Hasil output ialah:

Pembelajaran tatasusunan PHP: cara memintas serpihan elemen (dua cara)

Ia boleh dilihat bahawa dalam operasi tatasusunan pemintasan, fungsi fungsi array_slice() dan array_splice( ) fungsi adalah Serupa; tetapi fungsi

array_slice() tidak akan mengubah tatasusunan asal!

Parameter

mempunyai tiga nilai: $start

  • ialah 0,

  • Jika ia ialah nombor positif, ia akan dipintas dari depan ke belakang. Jika

  • ialah nombor negatif, ia akan bermula dari kedudukan

    dari hujung $array (iaitu, kedudukan dari sebelah kanan tatasusunan ke kiri mengikut nilai mutlak), dan memintas dari belakang ke hadapan. Contohnya -start bermaksud bermula dari elemen kedua hingga terakhir tatasusunan. -2

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(10,12,20,25,24);
echo "原数组:";
var_dump($arr); 

echo "截取的数组片段:";
$result = array_slice($arr,2);
var_dump($result);

$result = array_slice($arr,-2);
var_dump($result);
?>
Hasil output ialah:

Pembelajaran tatasusunan PHP: cara memintas serpihan elemen (dua cara)

Parameter

juga mempunyai tiga nilai: $length

  • Jika panjang ialah nombor positif, maka ia menunjukkan bilangan elemen yang dipintas

  • Jika panjang ialah nombor negatif, maka serpihan yang dipintas akan berakhir dengan panjang; dari hujung Kedudukan tatasusunan;

  • Jika diabaikan, ia akan dipintas dari kedudukan mula hingga hujung tatasusunan.

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(10,12,20,25,24);
echo "原数组:";
var_dump($arr); 

echo "截取的数组片段:";
$result = array_slice($arr,1,1);
var_dump($result);

$result = array_slice($arr,1,-1);
var_dump($result);
?>
Hasil output ialah:

Pembelajaran tatasusunan PHP: cara memintas serpihan elemen (dua cara)

Parameter

menunjukkan sama ada untuk mengekalkan nama kunci asal nilai lalai adalah false , iaitu, tidak dikekalkan; jika ditetapkan kepada benar, nama kunci asal akan dikekalkan. $preserve

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(10,12,20,25,24);
echo "原数组:";
var_dump($arr); 

echo "截取的数组片段:";
$result = array_slice($arr,1,1,true);
var_dump($result);

$result = array_slice($arr,1,-1,true);
var_dump($result);
?>
Hasil keluarannya ialah:

Pembelajaran tatasusunan PHP: cara memintas serpihan elemen (dua cara)

Itu sahaja jika anda ingin mengetahui perkara lain, anda boleh klik ini. → →

Tutorial video php

Akhir sekali, saya mengesyorkan tutorial video percuma tentang tatasusunan PHP:

Penjelasan video fungsi tatasusunan fungsi PHP, datang dan pelajari!

Atas ialah kandungan terperinci Pembelajaran tatasusunan PHP: cara memintas serpihan elemen (dua cara). 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