Pembelajaran tatasusunan PHP: menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi yang mengandungi berbilang elemen tertentu

青灯夜游
Lepaskan: 2023-04-10 16:10:01
asal
3935 orang telah melayarinya

Dalam artikel sebelumnya "Cara menukar nama utama dan kedudukan nilai dalam pembelajaran tatasusunan PHP", kami belajar tentang dua kaedah menukar nama kunci dan nilai kunci dalam tatasusunan Jika perlu Rakan boleh belajar mengenainya~

→Cadangan berkaitan: Ringkasan siri pembelajaran tatasusunan PHP (terus dikemas kini~)

Dan hari ini Artikel ini membawa anda terutamanya melalui pembahagian tatasusunan dan perbincangan tentang cara menggunakan PHP untuk memisahkan tatasusunan satu dimensi kepada tatasusunan dua dimensi yang mengandungi bilangan elemen tertentu.

Sebagai contoh, terdapat tatasusunan satu dimensi sedemikian

$arr = array(4, 23, 56, 1, 9, 5, 2, 67, 34, 100, 78);
Salin selepas log masuk

Pembelajaran tatasusunan PHP: menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi yang mengandungi berbilang elemen tertentu

Anda ingin membahagikan tatasusunan satu dimensi ini kepada tatasusunan dua dimensi yang mengandungi 3 elemen berturut-turut seperti yang ditunjukkan di bawah tatasusunan Dimensi

Pembelajaran tatasusunan PHP: menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi yang mengandungi berbilang elemen tertentu

Bagaimana untuk mengendalikan ini? Berikut ialah dua cara untuk memisahkan tatasusunan satu dimensi kepada tatasusunan dua dimensi yang mengandungi bilangan elemen tertentu.

Kaedah 1: Gunakan fungsi array_slice() untuk memintas tatasusunan

Idea pelaksanaan:

  • Gunakan fungsi array_slice() memintas serpihan tatasusunan dengan panjang tertentu berdasarkan subskrip tatasusunan dan mengembalikan subarray yang dipintas.

  • Oleh kerana lapisan dalam tatasusunan dua dimensi masing-masing mengandungi 3 elemen, gunakan array_slice() untuk mula membelah tatasusunan masing-masing pada kedudukan 0, 3, 6 dan 9; >

  • Gunakan gelung for untuk mengawal kedudukan permulaan (subskrip tatasusunan), hubungan antara i dan subskrip

    : i*3

    Apabila i=0, kedudukan permulaan ialah 0

    Apabila i=1, kedudukan permulaan ialah 3

    Apabila i=2, kedudukan permulaan ialah 6

    Apabila i=3, kedudukan permulaan ialah 9

Kod pelaksanaan diberikan di bawah:

<?php
function SplitArray($arr,$n){
	for ($i = 0; $i <= $n; $i++) {
	    $res[] = array_slice($arr, $i * $n, $n);
	}
	var_dump($res);
}
$arr = array(4, 23, 56, 1, 9, 5, 2, 67, 34, 100, 78);
SplitArray($arr,3);
?>
Salin selepas log masuk
Hasil keluaran:

Pembelajaran tatasusunan PHP: menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi yang mengandungi berbilang elemen tertentu

Kaedah 2: Gunakan fungsi array_chunk () membahagikan array

<?php
$arr = array(4, 23, 56, 1, 9, 5, 2, 67, 34, 100, 78);
$res = array_chunk($arr,3);
var_dump($res);
?>
Salin selepas log masuk
Hasil keluaran:

Pembelajaran tatasusunan PHP: menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi yang mengandungi berbilang elemen tertentu

Biar saya memperkenalkan anda kepada array_chunk() fungsi. Fungsi

membahagikan tatasusunan kepada blok tatasusunan baharu Parameter pilihan array_chunk(array,size,preserve_keys) menentukan bilangan elemen setiap blok tatasusunan baharu Parameter pilihan size menentukan sama ada untuk mengekalkan tatasusunan asal nama kunci (nilai lalai adalah palsu, tidak dikekalkan). preserve_keys

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: menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi yang mengandungi berbilang elemen tertentu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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