在 PHP 中,從陣列建立元素組合是一項常見任務。本文探討了一種從給定數組產生特定長度組合的解決方案,確保忽略元素的順序。
為了解決此問題,採用了透過 Combinations 類別實現的迭代方法。此類充當迭代器,允許高效遍歷和檢索組合。
__construct 方法透過接受陣列或字串 s 以及所需的組合長度 k 來初始化該類別。它初始化內部變數並將初始位置設為零。
_next 方法負責前進到下一個組合。它以相反的順序迭代元素,增加計數並相應地更新組合。
key、current、next、rewind 和 valid 方法滿足 Iterator 介面要求,實現組合的無縫迭代。
提供了一個範例用法,示範如何從數字陣列建立Combinations 物件:
$array = [1,2,3,4,5,6,7]; $combinations = new Combinations($array, 5);
迭代$combinations 物件將產生每個唯一的組合作為字串或陣列,具體取決於輸入型別:
foreach($combinations as $combination) { echo $combination . ' '; }
輸出:
12345 12346 12347 12356 12357 12367 12456 12457 12467 12567 13456 13457 13467 13567 14567 23456 23457 23467 23567 24567 34567
以上是如何從 PHP 陣列產生特定長度的所有唯一組合?的詳細內容。更多資訊請關注PHP中文網其他相關文章!