微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 组合数组和concat值?

解释起来有点复杂,所以这里有简单的具体例子:

数组1:

Array
(
    [4] => bim
    [5] => pow
    [6] => foo 
)

数组2:

Array
    (
        [n] => Array
            (
                [0] => 1
            )

        [m] => Array
            (
                [0] => 1
                [1] => 2
            )

        [l] => Array
            (
                [0] => 1
                [1] => 4
                [2] => 64
            )

我需要输出一个数组3,

数组预期:

Array
        (
            [bim] => n-1
            [pow] => Array
                (
                    [0] => m-1
                    [1] => m-2
                )

            [foo] => Array
                (
                    [0] => l-1
                    [1] => l-4
                    [2] => l-64
                )

最终回应OUTPUT预期:

bim n-1,pow m-1 m-2,foo l-1 l-4 l-64,

我试过这个,但似乎很可惜:

foreach($array2 as $k1 =>$v1){

            foreach($array2[$k1] as $k => $v){
            $k[] =  $k1.'_'.$v);
             }



foreach($array1 as $res =>$val){

            $val = $array2;

            }

谢谢你的帮助,
枷锁

解决方法:

作为您的问题的解决方案,请尝试执行以下代码

<?PHP
 $a=array(4=>'bim',5=>'pow',6=>'foo');
 $b=array('n'=>array(1),'m'=>array(1,2),'l'=>array(1,4,64));
 $keys=array_values($a);
 $values=array();
 foreach($b as $key=>$value)
 {
   if(is_array($value) && !empty($value))
   {
 foreach($value as $k=>$val)
 {
    if($key=='n')
    {
        $values[$key]=$key.'-'.$val;
    }
    else
    {
        $values[$key][]=$key.'-'.$val;
    }
  }
 }
}

$result=array_combine($keys,$values);
echo '<pre>';
print_r($result);
?>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐