在PHP中,可以使用多個數組的笛卡爾積運算方法來獲取它們的所有可能組合。這里提供一個簡單的方法來實現笛卡爾積運算:
function cartesian_product($arrays) {
$result = array();
$arrays = array_values($arrays);
$sizeIn = sizeof($arrays);
$size = $sizeIn > 0 ? 1 : 0;
foreach ($arrays as $array) {
$size = $size * sizeof($array);
}
for ($i = 0; $i < $size; $i ++) {
$result[$i] = array();
for ($j = 0; $j < $sizeIn; $j ++) {
array_push($result[$i], current($arrays[$j]));
}
for ($j = ($sizeIn -1); $j >= 0; $j --) {
if (next($arrays[$j])) {
break;
} elseif (isset ($arrays[$j])) {
reset($arrays[$j]);
}
}
}
return $result;
}
$arrays = array(
array('red', 'green'),
array('apple', 'orange', 'banana'),
array('small', 'medium', 'large')
);
$cartesian_product = cartesian_product($arrays);
foreach ($cartesian_product as $product) {
echo implode(' ', $product) . "\n";
}
在這個示例中,函數cartesian_product
接受一個包含多個數組的數組作為參數,并返回這些數組的笛卡爾積。然后,通過遍歷獲取的笛卡爾積,將其輸出到控制臺。