用PHP寫一段代碼

來源:互聯網
上載者:User

感謝大家的熱心回複,對不起大家,之前描述問題的時侯沒有說清楚問題,耽誤了大家的時間。

舉個例子來說明一下:
“重慶”這兩個字,因“重”字是多音字,讀:C、Z;“慶”字讀:Q 要組合出所有讀音就是:CQ,ZQ
那麼,
“重慶重”這樣的話,就應該組合出CQC、ZQC、CQZ、ZQZ 這四種讀音

那麼更多的字會組合出更多的組合

怎麼實現呢?

$arr = array('a','b');$single = array('c','b');function merge(){    $arg = func_get_args();    $r = array();    if(0 < count($arg) && is_array($arg[0])){        $base = $arg[0];        foreach ($arg as $k => $v) {            if($k > 0 && is_array($v)){                foreach($base as $sk=>$sv){                    foreach ($v as $tk => $tv) {                        array_push($r, $sv.$tv);                    }                }            }        }        if(0 < count($r)){            return $r;        }else{            return !1;        }    }else{        return !1;    }}var_dump(merge($arr, $single));

回複內容:

感謝大家的熱心回複,對不起大家,之前描述問題的時侯沒有說清楚問題,耽誤了大家的時間。

舉個例子來說明一下:
“重慶”這兩個字,因“重”字是多音字,讀:C、Z;“慶”字讀:Q 要組合出所有讀音就是:CQ,ZQ
那麼,
“重慶重”這樣的話,就應該組合出CQC、ZQC、CQZ、ZQZ 這四種讀音

那麼更多的字會組合出更多的組合

怎麼實現呢?

$arr = array('a','b');$single = array('c','b');function merge(){    $arg = func_get_args();    $r = array();    if(0 < count($arg) && is_array($arg[0])){        $base = $arg[0];        foreach ($arg as $k => $v) {            if($k > 0 && is_array($v)){                foreach($base as $sk=>$sv){                    foreach ($v as $tk => $tv) {                        array_push($r, $sv.$tv);                    }                }            }        }        if(0 < count($r)){            return $r;        }else{            return !1;        }    }else{        return !1;    }}var_dump(merge($arr, $single));

使用一個函數實現:

你的圖片的含義:一個大數組中包含兩個小數組,然後現在給出第三個數組,將其分別組合到大數組的每一個小數組裡面。

實現原理:

數組合并並返回一個新數組的函數:array_merge()。

function merge($a1,$a2,$a3){
$result=array();
$t1=arrar_merge($a1,$a3);
$t2=arrar_merge($a2,$a3);
$result[]=$t1;
$result[]=$t2;
return $result;
}

 $item) {        $arr[$key][0] = $arr[$key][0].$single[0];    }    var_dump($arr);

$answer=array_map(function($subArray)use($third){ return array_merge($subArray,$third);},$first);
手打,勿怪?

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.