当前位置:Gxlcms > PHP教程 > 用PHP写一段代码

用PHP写一段代码

时间:2021-07-01 10:21:17 帮助过:5人阅读

感谢大家的热心回复,对不起大家,之前描述问题的时侯没有说清楚问题,耽误了大家的时间。

举个例子来说明一下:
“重庆”这两个字,因“重”字是多音字,读: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);
手打,勿怪?

人气教程排行