需求【商品規格的笛卡爾積同理】:
根據幾項不同指標項中的不同指標,獲取其相互組合的笛卡爾積,返回的是帶有原陣列索引的笛卡爾積結果,且陣列值的資料型別保持不變。
整體思路:
1、通過第乙個陣列拼裝出結果集的資料結構。
2、然後依次處理結果集與其它陣列的笛卡爾積。
詳細**示例:
$params = [
'gender' => ['男', '女'],
'city' => [["北京"], ["上海", "深圳"]],
'brand' => ["蘋果", "華為"],
];$result = cartesianmultiindexarray($params);
var_dump($result);
/** * 多個索引陣列笛卡爾積
* @param array $params
* @return array
*/function cartesianmultiindexarray($params)
break;
}array_shift($params);
if (empty($params))
foreach ($params as $key => $val)
return $result;
}/**
* 獲取前兩個陣列笛卡爾積的結果與下乙個陣列的笛卡爾積
* @param array $resultval
* @param array $nextarr
* @param string $keyname
* @return array
*/function cartesiannextarraytoresult($resultval, $nextarr, $keyname)
}return $result;
}
結果如下:
array(8)
["brand"]=>
string(6) "蘋果"
} [1]=>
array(3)
["brand"]=>
string(6) "華為"
} [2]=>
array(3)
["brand"]=>
string(6) "蘋果"
} [3]=>
array(3)
["brand"]=>
string(6) "華為"
} [4]=>
array(3)
["brand"]=>
string(6) "蘋果"
} [5]=>
array(3)
["brand"]=>
string(6) "華為"
} [6]=>
array(3)
["brand"]=>
string(6) "蘋果"
} [7]=>
array(3)
["brand"]=>
string(6) "華為"
}}
php實現笛卡爾積
1.定義 笛卡爾乘積是指在數學中,兩個集合x和y的笛卡尓積 cartesian product 又稱直積,表示為x y,第乙個物件是x的成員而第二個物件是y的所有可能有序對的其中乙個成員。2.實現方法一 arr array array 黑色 紅色 白色 黑色 紫色 array 36碼 37碼 38碼...
php實現笛卡爾積
問題 有那麼乙個陣列 arr array array 1,2,3 array 中 國 人 array a b c 要求使用php語言實現計算該陣列的笛卡爾積。實現過程如下所示 arr array array 1,2,3 array 中 國 人 array a b c function diker a...
php怎麼實現陣列的笛卡爾積
php實現陣列的笛卡爾積的方法 1 建立乙個php示例檔案 2 定義乙個陣列 3 通過 function dikaer arr 實現陣列的笛卡爾積運算即可。php怎麼實現陣列的笛卡爾積?php實現陣列的笛卡爾積運算示例 陣列的笛卡爾積在實際中還是挺有用處的,比如計算商品的規格時就經常用到,下面寫一種...