Rumah >pembangunan bahagian belakang >tutorial php >Pembelajaran tatasusunan PHP: menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi yang mengandungi berbilang elemen tertentu

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

青灯夜游
青灯夜游asal
2021-08-25 19:15:584037semak imbas

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

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);
?>
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);
?>
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!

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