中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php如何實現數組的笛卡爾積

發布時間:2021-12-07 09:36:58 來源:億速云 閱讀:370 作者:iii 欄目:編程語言

這篇文章主要介紹“php如何實現數組的笛卡爾積”,在日常操作中,相信很多人在php如何實現數組的笛卡爾積問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”php如何實現數組的笛卡爾積”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

php實現數組的笛卡爾積的方法:1、創建一個PHP示例文件;2、定義一個數組;3、通過“function dikaer($arr){...}”實現數組的笛卡爾積運算即可。

php如何實現數組的笛卡爾積

本文操作環境: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如何實現數組的笛卡爾積”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

舒兰市| 额尔古纳市| 余庆县| 黑河市| 交城县| 利川市| 喀喇沁旗| 东阳市| 神农架林区| 麻栗坡县| 错那县| 筠连县| 永定县| 阿尔山市| 武隆县| 通榆县| 陵川县| 福鼎市| 遵义市| 应用必备| 浏阳市| 巴南区| 乐都县| 玛纳斯县| 尉氏县| 恩施市| 景德镇市| 锦屏县| 西平县| 永城市| 上饶市| 商河县| 巴林右旗| 长子县| 长治市| 彭阳县| 江孜县| 依兰县| 英德市| 庆元县| 共和县|