数组的笛卡尔积在实际中还是挺有用处的,比如计算商品的规格时就经常用到,下面写一种实现方式,如下代码
$arr = array(array(2),array(6,7),array(a,,c));function dikaer($arr){$arr1 = array();$result = array_shift($arr);while($arr2 = array_shift($arr)){$arr1 = $result;$result = array();foreach($arr1 as $v){foreach($arr2 as $v2){if(!is_array($v))$v = array($v);if(!is_array($v2))$v2 = array($v2);$result[] = array_merge_recursive($v,$v2);}}}return $result;}
以上例子输出的结果如下:
Array([0] => Array([0] => 2[1] => 6[2] => a)[1] => Array([0] => 2[1] => 6[2] => b)[2] => Array([0] =>
如果觉得《php实现数组的笛卡尔积》对你有帮助,请点赞、收藏,并留下你的观点哦!