2015-12-16 11:46:59 3372次浏览 4条回答 0 悬赏 10 金钱

A数组 { [0]=> int(1) "1" [1]=> int(2) "15" [2]=> int(2) "25" }
B数组 { [0]=> int(1) "5" [1]=> int(2) "20" [2]=> int(2) "30" }
将A、B数组根据key值合并为C数组格式为:C数组 { [0]=> array(2) { [0]=> int(1) [1]=> int(5) } [1]=> array(2) { [0]=> int(15) [1]=> int(20) } [2]=> array(2) { [0]=> int(25) [1]=> int(30) } }

最佳答案

  • php小生 发布于 2015-12-16 15:46 举报
    
    $a = array(0=> 1,1=> 15,2=>25);
    $b = array(0=> 5,1=>20,2=> 30,3=>40);
    $keys = array_unique(array_merge(array_keys($a),array_keys($b)));
    
    $c = array();
    foreach ($keys as $v) {
    	if(isset($a[$v])) $c[$v][] = $a[$v];
    	if(isset($b[$v])) $c[$v][] = $b[$v];
    }
    
    1 条回复
    回复于 2015-12-16 17:14 回复

    谢谢 YII社区果然回复很快 我的解决方法

             foreach($a as $keys => $value) {
                $rules["installdate"][$keys][] = intval($value);
                foreach ($b as $key => $val) {
                    if($keys == $key)
                    $rules["installdate"][$key][] = intval($val);
                }
           }
    
  • 回答于 2015-12-16 14:53 举报

    自己写个函数咯

  • 回答于 2015-12-16 15:01 举报
    $C = $B
    foreach($A as $key=>$value){
        if(isset($C[$key])){
            if(is_array($C[$key])){
                 $C[$key][] = $value;
            }else{
                 $C[$key] = [$C[$key],$value];
            }
        }else{
             $C[$key] = $value;
        }
    }`
    
    1 条回复
    回复于 2015-12-16 17:10 回复

    非常感谢,问题已搞定

  • 回答于 2015-12-16 15:18 举报

    php有合并的函数

您需要登录后才可以回答。登录 | 立即注册
fengzyz
经理

fengzyz 深圳

注册时间:2015-10-08
最后登录:2019-02-18
在线时长:31小时55分
  • 粉丝3
  • 金钱1480
  • 威望0
  • 积分1790

热门问题