php多個數組求組合數(Php數組合併)

本文目錄一覽:

PHP 多個數組的排列組合

$a = array(1,2,3,4,5,6,7);

$b = array(1,2,3);

$c = array(1,2,3,4,5,6,7,8,9,10);

$d = array($a,$b,$c);

//計算每一個數組的長度

$len = 1;

$arrLen = count($d); //需要排列數組有多少個

$recIndex = null; //記錄當前該取的位置

//foreach 計數

$count_3 = 0;

foreach ($d as $key = $value) {

$lenRec[$count_3] = count($value);

$len = $lenRec[$count_3]*$len;

$recIndex[] = 0;//第一次全部取第0個

$count_3++;

}

//算出% 的值

$count = 1;

foreach ($lenRec as $key = $value) {

$moduloVal = 1;

if($arrLen == $count){

$modulo[] = count($d[$arrLen-1]); //等於最後一個的長度

}else{

$count_1 = 1;

foreach ($lenRec as $index = $item) {

$count_1 $count $moduloVal = $moduloVal*$item;

$count_1 ++;

}

$modulo[] = $moduloVal;

}

$count ++;//為了防止$d key是有值的 不是自然序列 需要計數

}

$i = 1;

while ( $i = $len) {

$html = ”;

$count_2 = 0;// 取模

$temp = ”;

foreach ($d as $value) {

$html .= $value[$recIndex[$count_2]%$lenRec[$count_2]].”,”;

$count_2 ++;

}

echo $html.”br”;

foreach ($modulo as $key = $value) {

if($i%$value == 0 $key $arrLen – 1 ){

$recIndex[$key] = $recIndex[$key] +1;

}

if($key == $arrLen – 1){

if($i%$value == 0){

$recIndex[$key] = 0;

}else{

$recIndex[$key] = $recIndex[$key] +1;

}

}

}

$i ++;

//改變獲取的位置

}

求PHP 數組的任意組合的算法函數

function getRank($arr, $len=0, $str=””) {

global $arr_getrank;

$arr_len = count($arr);

if($len == 0){

$arr_getrank[] = $str;

}else{

for($i=0; $i$arr_len; $i++){

$tmp = array_shift($arr);

if (empty($str))

{

getRank($arr, $len-1, $tmp);

}

else

{

getRank($arr, $len-1, $str.”,”.$tmp);

}

// array_push($arr, $tmp);

}

}

}

測試:

$words = array(‘a1′,’b2′,’c3′,’d4′,’e5’);

$arr_getrank = array();

getRank($words, 3);

print_r($arr_getrank);

輸出:

Array

(

[0] = a1,b2,c3

[1] = a1,b2,d4

[2] = a1,b2,e5

[3] = a1,c3,d4

[4] = a1,c3,e5

[5] = a1,d4,e5

[6] = b2,c3,d4

[7] = b2,c3,e5

[8] = b2,d4,e5

[9] = c3,d4,e5

)

php 如何計算數組中數字的組合?

$arr = array(1,2,2,3,3,3,4,5,3,2,3,3);$num = count(array_count_values($arr));// 或者$num = count(array_unique($arr));

php 多組數字如何計算所有的組合形式。如:

$A = [‘紅色’,’黃色’];

$B = [‘M’,’L’,’XL’];

$C = [‘輕’,’重’];

// 先將各屬性值處理成一個整體

$list[‘A’] = $A;

$list[‘B’] = $B;

$list[‘C’] = $C;

$res = array();

foreach ($list as $k = $v) {

   $res = getCombinationToString($v);

}

/**

 * 獲取組合的結果

 * [@author]() 18y

 */

function getCombinationToString($val){    

    // 保存上一個的值

    static $res = array();    

    if(empty($res))

    {

        $res = $val;

    }else{        

            // 臨時數組保存結合的結果

        $list = array();        

        foreach ($res as $k = $v) {            

            foreach ($val as $key = $value) {

                $list[$k.’_’.$key] = $v.’_’.$value;     

            }

        }

        $res = $list;

    }    

    return $res;

}

詳情看全文吧,這裡寫有點亂 php 多組數組算所有的組合形式

PHP中如何列出一個數組的所有規定組合?

嵌套循環,代碼如下:

$arr = array(‘0’=array(8,9),’1’=array(5),’2’=array(1,2));

$arr2 = array();

foreach ($arr[0] as $v1) {

foreach($arr[1] as $v2){

foreach($arr[2] as $v3){

$arr2[] = $v1.$v2.$v3;

}

}

}

print_r($arr2);

原創文章,作者:ZX7G8,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/128467.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
ZX7G8的頭像ZX7G8
上一篇 2024-10-03 23:25
下一篇 2024-10-03 23:25

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • 為什麼Python不能編譯?——從多個方面淺析原因和解決方法

    Python作為很多開發人員、數據科學家和計算機學習者的首選編程語言之一,受到了廣泛關注和應用。但與之伴隨的問題之一是Python不能編譯,這給基於編譯的開發和部署方式帶來不少麻煩…

    編程 2025-04-29
  • Python導入數組

    本文將為您詳細闡述Python導入數組的方法、優勢、適用場景等方面,並附上代碼示例。 一、numpy庫的使用 numpy是Python中一個強大的數學庫,其中提供了非常豐富的數學函…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • Python返回數組:一次性搞定多種數據類型

    Python是一種多用途的高級編程語言,具有高效性和易讀性的特點,因此被廣泛應用於數據科學、機器學習、Web開發、遊戲開發等各個領域。其中,Python返回數組也是一項非常強大的功…

    編程 2025-04-29
  • Python合併多個相同表頭文件

    對於需要合併多個相同表頭文件的情況,我們可以使用Python來實現快速的合併。 一、讀取CSV文件 使用Python中的csv庫讀取CSV文件。 import csv with o…

    編程 2025-04-29
  • Python去掉數組的中括號

    在Python中,被中括號包裹的數據結構是列表,列表是Python中非常常見的數據類型之一。但是,有些時候我們需要將列表展開成一維的數組,並且去掉中括號。本文將為大家詳細介紹如何用…

    編程 2025-04-29
  • Python操作數組

    本文將從多個方面詳細介紹如何使用Python操作5個數組成的列表。 一、數組的定義 數組是一種用於存儲相同類型數據的數據結構。Python中的數組是通過列表來實現的,列表中可以存放…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 從多個方面用法介紹yes,but let me review and configure level of access

    yes,but let me review and configure level of access是指在授權過程中,需要進行確認和配置級別控制的全能編程開發工程師。 一、授權確…

    編程 2025-04-29

發表回復

登錄後才能評論