Menentukan penutupan semua kemungkinan subset tatasusunan ialah langkah penting dalam reka bentuk pangkalan data hubungan. Untuk mencari subset tidak berulang dalam PHP, pertimbangkan pendekatan berikut:
function powerSet(array $array) : array { // add the empty set $results = [[]]; foreach ($array as $element) { foreach ($results as $combination) { $results[] = [...$combination, $element]; } } return $results; } $ATTRIBUTES = ['A', 'B', 'C', 'D']; $SUBSETS = powerSet($ATTRIBUTES);
Fungsi ini menggunakan array_merge untuk menjana semua subset yang mungkin, termasuk set kosong. Tatasusunan $SUBSETS yang terhasil akan mengandungi semua subset tidak berulang yang diminta dalam soalan:
[ [], ['A'], ['B'], ['A', 'B'], ['C'], ['A', 'C'], ['B', 'C'], ['A', 'B', 'C'], ['D'], ['A', 'D'], ['B', 'D'], ['A', 'B', 'D'], ['C', 'D'], ['A', 'C', 'D'], ['B', 'C', 'D'], ['A', 'B', 'C', 'D'] ]
Kaedah ini menyediakan penyelesaian yang ringkas dan cekap untuk mencari subset tatasusunan dalam PHP, menjadikannya terpakai kepada pelbagai data tugasan analisis dan reka bentuk pangkalan data.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Semua Subset Array dengan Cekap dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!