佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > PHP實(shí)現(xiàn)數(shù)組的笛卡爾積運(yùn)算示例

PHP實(shí)現(xiàn)數(shù)組的笛卡爾積運(yùn)算示例

熱門標(biāo)簽:科大訊飛語音識(shí)別系統(tǒng) 團(tuán)購網(wǎng)站 電子圍欄 Mysql連接數(shù)設(shè)置 Linux服務(wù)器 阿里云 銀行業(yè)務(wù) 服務(wù)器配置

本文實(shí)例講述了PHP實(shí)現(xiàn)數(shù)組的笛卡爾積運(yùn)算。分享給大家供大家參考,具體如下:

數(shù)組的笛卡爾積在實(shí)際中還是挺有用處的,比如計(jì)算商品的規(guī)格時(shí)就經(jīng)常用到,下面寫一種實(shí)現(xiàn)方式,如下代碼

$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;
}

以上例子輸出的結(jié)果如下:

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
    )
)

如果需要輸出字符串形式的結(jié)果可以把代碼改成這樣

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;
}

輸出結(jié)果如下所示:

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
)

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》、《php正則表達(dá)式用法總結(jié)》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • PHP實(shí)現(xiàn)笛卡爾積算法的實(shí)例講解
  • PHP笛卡爾積實(shí)現(xiàn)算法示例
  • PHP基于自定義函數(shù)生成笛卡爾積的方法示例
  • php計(jì)算多個(gè)集合的笛卡爾積實(shí)例詳解
  • PHP基于進(jìn)程控制函數(shù)實(shí)現(xiàn)多線程
  • PHP如何防止用戶重復(fù)提交表單
  • Nginx+php配置文件及原理解析
  • thinkphp諸多限制條件下如何getshell詳解
  • PHP笛卡爾積實(shí)現(xiàn)原理及代碼實(shí)例

標(biāo)簽:萍鄉(xiāng) 江蘇 蚌埠 衡水 衢州 棗莊 大理 廣元

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP實(shí)現(xiàn)數(shù)組的笛卡爾積運(yùn)算示例》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    喀喇| 汝阳县| 商水县| 商南县| 沂源县| 厦门市| 平顺县| 永善县| 双峰县| 宜章县| 漳平市| 土默特右旗| 宁强县| 合川市| 金坛市| 赤壁市| 文山县| 和顺县| 阜平县| 湘潭市| 尚志市| 彩票| 泽州县| 县级市| 五河县| 德化县| 昌吉市| 南靖县| 西乌珠穆沁旗| 宁化县| 禹城市| 榆中县| 绥阳县| 徐水县| 茌平县| 凤台县| 梨树县| 措美县| 黄山市| 米脂县| 西宁市|