亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP - 如何從數組中輸出元素的組合?

PHP - 如何從數組中輸出元素的組合?

PHP
紅顏莎娜 2022-10-09 20:02:46
我有一個數組:$names = array("Jim", "Jane", "Bob", "Susan", "Ralph"); 我想計算 3 個元素的組合。輸出是這樣的:Jim, Jane, BobJim, Jane, SusanJim, Jane, RalphJim, Bob, SusanJim, Bob, RalphJim, Susan, RalphJane, Bob, SusanJane, Bob, RalphJane, Susan, RalphBob, Susan, Ralph預期輸出有 10 種不同的組合。我一直在考慮如何實現這一點,但不知道如何做到這一點。請幫忙,謝謝。
查看完整描述

1 回答

?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

該算法非常簡單。在移動第一個元素后,您可以簡單地使用 while 語句循環剩余的條目,然后使用 2 個其他循環按順序附加剩余的名稱:


$names = ["Jim", "Jane", "Bob", "Susan", "Ralph"];

$result = [];


while (count($names) > 2) {

    $currentName = array_shift($names);


    for ($i = 0; $i < count($names) - 1; $i++) {

        for ($j = $i + 1; $j < count($names); $j++) {

            $result[] = implode(', ', [$currentName, $names[$i], $names[$j]]);

        }

    }

}


var_dump($result);

結果將是:


array(10) {

  [0]=>

  string(14) "Jim, Jane, Bob"

  [1]=>

  string(16) "Jim, Jane, Susan"

  [2]=>

  string(16) "Jim, Jane, Ralph"

  [3]=>

  string(15) "Jim, Bob, Susan"

  [4]=>

  string(15) "Jim, Bob, Ralph"

  [5]=>

  string(17) "Jim, Susan, Ralph"

  [6]=>

  string(16) "Jane, Bob, Susan"

  [7]=>

  string(16) "Jane, Bob, Ralph"

  [8]=>

  string(18) "Jane, Susan, Ralph"

  [9]=>

  string(17) "Bob, Susan, Ralph"

}


查看完整回答
反對 回復 2022-10-09
  • 1 回答
  • 0 關注
  • 126 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號