首頁 >後端開發 >php教程 >如何從 PHP 陣列產生特定長度的所有唯一組合?

如何從 PHP 陣列產生特定長度的所有唯一組合?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-03 05:31:16950瀏覽

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

PHP 陣列組合

在 PHP 中,從陣列建立元素組合是一項常見任務。本文探討了一種從給定數組產生特定長度組合的解決方案,確保忽略元素的順序。

為了解決此問題,採用了透過 Combinations 類別實現的迭代方法。此類充當迭代器,允許高效遍歷和檢索組合。

__construct 方法透過接受陣列或字串 s 以及所需的組合長度 k 來初始化該類別。它初始化內部變數並將初始位置設為零。

_next 方法負責前進到下一個組合。它以相反的順序迭代元素,增加計數並相應地更新組合。

key、c​​urrent、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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn