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

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

所有可能的集合(3 位)的排列,包括零

所有可能的集合(3 位)的排列,包括零

PHP
至尊寶的傳說 2022-09-17 22:11:51
我正在創建一個小型游戲程序,其中有兩種類型的游戲。 和。對于每個游戲,都有一個固定的圖表集。SingleDouble單張圖表        '128',   '129',  '120',  '130',  '140',   '123',  '124',  '125',  '126',  '127',        '137',   '138',  '139',  '149',  '159',   '150',  '160',  '134',  '135',  '136',        '146',   '147',  '148',  '158',  '168',   '169',  '179',  '170',  '180',  '145',        '236',   '156',  '157',  '167',  '230',   '178',  '250',  '189',  '234',  '190',        '245',   '237',  '238',  '239',  '249',   '240',  '269',  '260',  '270',  '235',        '290',   '246',  '247',  '248',  '258',   '259',  '278',  '279',  '289',  '280',        '380',   '345',  '256',  '257',  '267',   '268',  '340',  '350',  '360',  '370',        '470',   '390',  '346',  '347',  '348',   '358',  '359',  '369',  '379',  '389',        '489',   '480',  '490',  '356',  '357',   '349',  '368',  '378',  '450',  '460',        '579',   '570',  '580',  '590',  '456',   '367',  '458',  '459',  '469',  '479',        '560',   '589',  '670',  '680',  '690',   '457',  '467',  '468',  '478',  '569',        '678',   '679',  '689',  '789',  '780',   '790',  '890',  '567',  '568',  '578',當我選擇一個并輸入數字0123456789時,它返回與 相關的整個集合。對于這種情況,它返回集合。Single(any sequence(sorted & unsorted), min 4 digits & max 10 digits from 0-9, repeated)Single Chart120如果我選擇并輸入相同的數字0123456789它將返回與 ONLY 相關的所有集合。doubleDouble Chart目前,我正在為游戲使用一種解決方案,這里給出了排列 - 所有可能的數字集,但在一些集合中,它被返回,就像但它必須是Single001100我也找不到游戲的解決方案。我嘗試什么 :Double
查看完整描述

2 回答

?
交互式愛情

TA貢獻1712條經驗 獲得超3個贊

您可以通過創建正則表達式對數字進行preg_match,例如:


/^[235046]+$/

這意味著我們試圖匹配一個從開始(插入符號)到結束(美元符號)的數字(含義,或等)的字符串。如果我們找到匹配項,我們會將它們收集到另一個數組中。235046235^$


片段:


<?php


$digits = '235046';


$single_chart_filtered = [];


foreach($single_chart as $chart_value){

    if(preg_match("/^[$digits]+$/",$chart_value) === 1){

        $single_chart_filtered[] = $chart_value;

    }

}


print_r($single_chart_filtered);


$double_chart_filtered = [];


foreach($double_chart as $chart_value){

    if(preg_match("/^[$digits]+$/",$chart_value) === 1){

        $double_chart_filtered[] = $chart_value;

    }

}

演示:https://3v4l.org/jChvm


查看完整回答
反對 回復 2022-09-17
?
嚕嚕噠

TA貢獻1784條經驗 獲得超7個贊

001 是0123456789的有效組合。您需要過濾數組以查找可能的集合:


// simple artificial setup

$single = [111,222,333,444,555];

function generatePossibleSet($input) { return [000,001,010,100,011,101,110,111]; }


$possibleSet = generatePossibleSet("01");


$set = $single;

// just interscet the picked set with the possible set

$set = array_intersect($set, $possibleSet);

此示例將給出 [111] - 集合列表中 0 和 1 的唯一有效組合。


查看完整回答
反對 回復 2022-09-17
  • 2 回答
  • 0 關注
  • 116 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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