用PHP写一段代码
迷茫
迷茫 2017-04-10 16:39:37
[PHP讨论组]

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

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

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(3)
怪我咯

使用一个函数实现:

你的图片的含义:一个大数组中包含两个小数组,然后现在给出第三个数组,将其分别组合到大数组的每一个小数组里面。

实现原理:

数组合并并返回一个新数组的函数: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;
}

阿神
<?php
    $arr = array(
        array('a'),
        array('b')
    ); 

    $single = array('c');
    foreach($arr as $key => $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);
手打,勿怪

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号