這篇文章主要介紹“php如何實現數組的笛卡爾積”,在日常操作中,相信很多人在php如何實現數組的笛卡爾積問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”php如何實現數組的笛卡爾積”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
創新互聯公司專注網站設計,以設計驅動企業價值的持續增長,網站,看似簡單卻每一個企業都需要——設計,看似簡潔卻是每一位設計師的心血 十多年來,我們只專注做網站。認真對待每一個客戶,我們不用口頭的語言來吹擂我們的優秀,上1000+的成功案例見證著我們的成長。
php實現數組的笛卡爾積的方法:1、創建一個PHP示例文件;2、定義一個數組;3、通過“function dikaer($arr){...}”實現數組的笛卡爾積運算即可。

本文操作環境:Windows7系統,PHP7.4版,Dell G3電腦。
php怎么實現數組的笛卡爾積?
PHP實現數組的笛卡爾積運算示例
數組的笛卡爾積在實際中還是挺有用處的,比如計算商品的規格時就經常用到,下面寫一種實現方式,如下代碼
$arr = array(
array(2),
array(6,7),
array('a','b','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] => 2 [1] => 6 [2] => c ) [3] => Array ( [0] => 2 [1] => 7 [2] => a ) [4] => Array ( [0] => 2 [1] => 7 [2] => b ) [5] => Array ( [0] => 2 [1] => 7 [2] => 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){
$result[] = $v.','.$v2;
}
}
}
return $result;
}輸出結果如下所示:
Array ( [0] => 2,6,a [1] => 2,6,b [2] => 2,6,c [3] => 2,7,a [4] => 2,7,b [5] => 2,7,c )
到此,關于“php如何實現數組的笛卡爾積”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注創新互聯網站,小編會繼續努力為大家帶來更多實用的文章!
當前文章:php如何實現數組的笛卡爾積
本文URL:http://www.yijiale78.com/article6/jjpeig.html
成都網站建設公司_創新互聯,為您提供小程序開發、用戶體驗、域名注冊、App開發、靜態網站、微信小程序
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯