<?php
function get_combinations($arrays) {
$result = array(array());
foreach ($arrays as $property => $property_values) {
$tmp = array();
foreach ($result as $result_item) {
foreach ($property_values as $property_value) {
$tmp[] = array_merge($result_item, array($property => $property_value));
}
}
$result = $tmp;
}
return $result;
}
$in = [
1 => 'мама',
3 => 'раму',
7 => 'раму',
8 => 'мыла',
13 => 'мама',
];
$flipped = [];
foreach ($in as $key => $value) {
$flipped[$value][] = $key;
}
$flipped = array_values($flipped);
$result = get_combinations($flipped);
var_export($result);
- Output for 7.1.25 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
- array (
0 =>
array (
0 => 1,
1 => 3,
2 => 8,
),
1 =>
array (
0 => 1,
1 => 7,
2 => 8,
),
2 =>
array (
0 => 13,
1 => 3,
2 => 8,
),
3 =>
array (
0 => 13,
1 => 7,
2 => 8,
),
)
preferences:
179.96 ms | 404 KiB | 184 Q