問題:有那麼乙個陣列
$arr = array(
array(1, 2, 3),
array('中','國','人'),
array('a','b','c')
);
要求使用php語言實現計算該陣列的笛卡爾積。
實現過程如下所示:
<?php
$arr = array(
array(1, 2, 3),
array('中','國','人'),
array('a','b','c')
);function diker($arr)
foreach($curarr as $curval)
$result = array_merge_recursive($lastval, $curval);}}
}return $result;
}$dkres = diker($arr);
if (is_array($dkres))
} else
執行結果如下所示:
array ( [0] => 1 [1] => 中 [2] => a )
array ( [0] => 1 [1] => 中 [2] => b )
array ( [0] => 1 [1] => 中 [2] => c )
array ( [0] => 1 [1] => 國 [2] => a )
array ( [0] => 1 [1] => 國 [2] => b )
array ( [0] => 1 [1] => 國 [2] => c )
array ( [0] => 1 [1] => 人 [2] => a )
array ( [0] => 1 [1] => 人 [2] => b )
array ( [0] => 1 [1] => 人 [2] => c )
array ( [0] => 2 [1] => 中 [2] => a )
array ( [0] => 2 [1] => 中 [2] => b )
array ( [0] => 2 [1] => 中 [2] => c )
array ( [0] => 2 [1] => 國 [2] => a )
array ( [0] => 2 [1] => 國 [2] => b )
array ( [0] => 2 [1] => 國 [2] => c )
array ( [0] => 2 [1] => 人 [2] => a )
array ( [0] => 2 [1] => 人 [2] => b )
array ( [0] => 2 [1] => 人 [2] => c )
array ( [0] => 3 [1] => 中 [2] => a )
array ( [0] => 3 [1] => 中 [2] => b )
array ( [0] => 3 [1] => 中 [2] => c )
array ( [0] => 3 [1] => 國 [2] => a )
array ( [0] => 3 [1] => 國 [2] => b )
array ( [0] => 3 [1] => 國 [2] => c )
array ( [0] => 3 [1] => 人 [2] => a )
array ( [0] => 3 [1] => 人 [2] => b )
array ( [0] => 3 [1] => 人 [2] => c )
php實現笛卡爾積
1.定義 笛卡爾乘積是指在數學中,兩個集合x和y的笛卡尓積 cartesian product 又稱直積,表示為x y,第乙個物件是x的成員而第二個物件是y的所有可能有序對的其中乙個成員。2.實現方法一 arr array array 黑色 紅色 白色 黑色 紫色 array 36碼 37碼 38碼...
Java實現笛卡爾積
產生笛卡爾積組合.param crossargs 資訊組合。格式 return 笛卡爾積組合結果 publicstaticlist cross list crossargs 笛卡爾積索引記錄 intrecord newint crossargs.size list results newarrayl...
笛卡爾直積PHP版
在數學中,兩個集合x和y的笛卡兒積 cartesian product 又稱直積,表示為x y。設a b是任意兩個集合,在集合a中任意取乙個元素x,在集合b中任意取乙個元素y,組成乙個有序對 x,y 把這樣的有序對作為新的元素,他們的全體組成的集合稱為集合a和集合b的直積,記為a b,即a b 假設...