首頁 > 後端開發 > php教程 > PHP自訂函數產生笛卡兒積

PHP自訂函數產生笛卡兒積

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-08-08 09:26:27
原創
1446 人瀏覽過

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

<?php

    $color = array(&#39;red&#39;, &#39;green&#39;);

    $size = array(39, 40, 41);

    $local = array(&#39;beijing&#39;, &#39;shanghai&#39;);

     

    echo "<pre class="brush:php;toolbar:false">";

    print_r(combineDika($color, $size, $local));

     

    /**

     * 所有数组的笛卡尔积

     *

     * @param unknown_type $data

     */

    function combineDika() {

        $data = func_get_args();

        $cnt = count($data);

        $result = array();

        foreach($data[0] as $item) {

            $result[] = array($item);

        }

        for($i = 1; $i < $cnt; $i++) {

            $result = combineArray($result,$data[$i]);

        }

        return $result;

    }

      

    /**

     * 两个数组的笛卡尔积

     *

     * @param unknown_type $arr1

     * @param unknown_type $arr2

     */

    function combineArray($arr1,$arr2) {

        $result = array();

        foreach ($arr1 as $item1) {

            foreach ($arr2 as $item2) {

                $temp = $item1;

                $temp[] = $item2;

                $result[] = $temp;

            }

        }

        return $result;

    }

?>

登入後複製

運行結果:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

Array

(

    [0] => Array

        (

            [0] => red

            [1] => 39

            [2] => beijing

        )

 

    [1] => Array

        (

            [0] => red

            [1] => 39

            [2] => shanghai

        )

 

    [2] => Array

        (

            [0] => red

            [1] => 40

            [2] => beijing

        )

 

    [3] => Array

        (

            [0] => red

            [1] => 40

            [2] => shanghai

        )

 

    [4] => Array

        (

            [0] => red

            [1] => 41

            [2] => beijing

        )

 

    [5] => Array

        (

            [0] => red

            [1] => 41

            [2] => shanghai

        )

 

    [6] => Array

        (

            [0] => green

            [1] => 39

            [2] => beijing

        )

 

    [7] => Array

        (

            [0] => green

            [1] => 39

            [2] => shanghai

        )

 

    [8] => Array

        (

            [0] => green

            [1] => 40

            [2] => beijing

        )

 

    [9] => Array

        (

            [0] => green

            [1] => 40

            [2] => shanghai

        )

 

    [10] => Array

        (

            [0] => green

            [1] => 41

            [2] => beijing

        )

 

    [11] => Array

        (

            [0] => green

            [1] => 41

            [2] => shanghai

        )

 

)

登入後複製


以上就介紹了PHP自訂函數產生笛卡兒積,包括了方面的內容,希望對PHP教學有興趣的朋友有幫助。

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
$value -> 成績 = $value -> 成績 -> 姓名;
來自於 1970-01-01 08:00:00
0
0
0
輸入<html><>後面是怎麼變成<html></html>的
來自於 1970-01-01 08:00:00
0
0
0
javascript - js中map實作中 var len = O.length >>> 0;
來自於 1970-01-01 08:00:00
0
0
0
<title></title> 這倆代表啥
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板