Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Menjana Semua Gabungan Unik Panjang Tertentu daripada Tatasusunan PHP?

Bagaimanakah Saya Boleh Menjana Semua Gabungan Unik Panjang Tertentu daripada Tatasusunan PHP?

Mary-Kate Olsen
Lepaskan: 2024-12-03 05:31:16
asal
994 orang telah melayarinya

How Can I Generate All Unique Combinations of a Specific Length from a PHP Array?

Kombinasi Tatasusunan PHP

Dalam PHP, mencipta gabungan elemen daripada tatasusunan ialah tugas biasa. Artikel ini meneroka penyelesaian untuk menjana gabungan panjang tertentu daripada tatasusunan tertentu, memastikan susunan elemen diabaikan.

Untuk menangani masalah ini, pendekatan berulang digunakan, dilaksanakan melalui kelas Gabungan. Kelas ini berfungsi sebagai lelaran, membenarkan traversal dan mendapatkan semula kombinasi yang cekap.

Kaedah __construct memulakan kelas dengan menerima tatasusunan atau rentetan s dan panjang gabungan yang diingini k. Ia memulakan pembolehubah dalaman dan menetapkan kedudukan awal kepada sifar.

Kaedah _next bertanggungjawab untuk maju ke gabungan seterusnya. Ia melelang melalui elemen dalam susunan terbalik, menambah kiraan dan mengemas kini gabungan dengan sewajarnya.

Kaedah kunci, semasa, seterusnya, gulung semula dan sah memenuhi keperluan antara muka Iterator, membolehkan lelaran lancar ke atas gabungan.

Contoh penggunaan disediakan, menunjukkan penciptaan objek Gabungan daripada pelbagai nombor:

$array = [1,2,3,4,5,6,7];
$combinations = new Combinations($array, 5);
Salin selepas log masuk

Lelaran pada objek $combinations akan menghasilkan setiap kombinasi unik sebagai rentetan atau tatasusunan, bergantung pada jenis input:

foreach($combinations as $combination) {
    echo $combination . ' ';
}
Salin selepas log masuk

Output:

12345 12346 12347 12356 12357 12367 12456 12457 12467 12567 13456 13457 13467 13567 14567 23456 23457 23467 23567 24567 34567
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Semua Gabungan Unik Panjang Tertentu daripada Tatasusunan PHP?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan