Hallo php-resource-User,
ich suche eine Funktion bzw. einen Denkanstoß für folgendes Szenario. Ich möchte wie unten alle möglichen Array-Element-Kombinationen. Bin vor längerer Zeit mal auf eine solche Funktion gestoßen, kann diese aber nicht wiederfinden. In erster Linie geht es mir nicht darum von euch fertigen Code zu bekommen, sondern mir Lösungstipps zu holen, bevor ich mich allein dransetz und nachher was zusammenpfusch. Ich hab mir das so gedacht, ich lass das über eine Schleife durchlaufen, speicher die Ergebnisse in einem Array zwischen und springe bei einer Rekursion einen Array-Wert weiter, mit dem begonnen werden soll. Bin schonmal auf eure (Verbesserungs-)Vorschläge gespannt .
ich suche eine Funktion bzw. einen Denkanstoß für folgendes Szenario. Ich möchte wie unten alle möglichen Array-Element-Kombinationen. Bin vor längerer Zeit mal auf eine solche Funktion gestoßen, kann diese aber nicht wiederfinden. In erster Linie geht es mir nicht darum von euch fertigen Code zu bekommen, sondern mir Lösungstipps zu holen, bevor ich mich allein dransetz und nachher was zusammenpfusch. Ich hab mir das so gedacht, ich lass das über eine Schleife durchlaufen, speicher die Ergebnisse in einem Array zwischen und springe bei einer Rekursion einen Array-Wert weiter, mit dem begonnen werden soll. Bin schonmal auf eure (Verbesserungs-)Vorschläge gespannt .
PHP-Code:
function array_combos($array, $calc = FALSE) {
if($calc !== FALSE) {
//combos, kleinere von höherem wert abziehen und ausrechnen
}
else {
//einfachen combos
}
}
$numbers = array(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024);
print_r(array_combos($numbers));
// Ausgabe soll sein
// 16 - 8
// 64 - 32
// 2 - 1
// etc.
$words = array('php', 'mysql', 'html', 'java', 'javascript', 'python');
print_r(array_combos($words));
// Ausgabe soll sein
// php - mysql
// php - html
// php - java
// php - javascript
// php - python
// mysql - html
// mysql - java
// mysql - javascript
// mysql - python
// html - java
// html - javascript
// html - python
// java - javascript
// java - python
// javascript - python
Kommentar