在php中格式化数组(3合1)

时间:2016-06-08 19:35:17

标签: php arrays multidimensional-array

所以目前我有一个基于属性提取数据的数组,它将数据放在自己的单独数组中。我需要做的是将这3个数组放在一个,所以如果其中一个为null,它将不会给我错误。它应该相当简单,但我无法绕过它。

 //CV eqpValue
 if (is_array(FullDataResponse->dlr->DesignLayoutRecord)) {
    foreach(FullDataResponse->dlr->DesignLayoutRecord as $DesignLayoutRecord_key => $DesignLayoutRecord_value ) {
            if ($DesignLayoutRecord_value->cktEqpOptions->CktEqpOptions && is_array($DesignLayoutRecord_value->cktEqpOptions->CktEqpOptions)) {
                    foreach ($DesignLayoutRecord_value->cktEqpOptions->CktEqpOptions as $cv_obj)
                           {
                                if($cv_obj->attribute === 'CDR')
                                        {
                                             $this->cvCDRList[] = array("cdr" => $cv_obj->eqpValue);
                                        }

                                if($cv_obj->attribute === 'CUSTOMER')
                                        {
                                             $this->cvCustomerList[] = array("customer" => $cv_obj->eqpValue);
                                        }

                            if($cv_obj->attribute === 'LEASE LINE')
                                        {
                                             $this->cvphoneList[] = array("phoneNumber" => $cv_obj->eqpValue);
                                        }  
                                       }
                                    }
                              }
                             }

了解它们目前​​是如何放入单独的数组中的,如cvCDRList,cvCustomerList和cvphoneList?我如何将它们放入一个阵列?谢谢!

2 个答案:

答案 0 :(得分:0)

你可以使用array_merge。

<?php

   $array1 = array("a12","a12","a13");
   $array2 = array("a21","a22","a23");
   $array3 = array("a31","a32","a33");

   $finalArray = array_merge($array1,$array2,$array3);              
   foreach( $finalArray as $key => $value ){
       echo $key."=>".$value."<br>";
   } 

?>

您可以创建另一个名为&#34; allAtributes&#34; 。 当你完成填充你的3个数组时,你可以调用另一个类方法,而不是在3个数组之间进行合并。

最后你会得到这样的结果:

allAtributes (array)=>{ 
        ["cdr"](array)=> {
            ['cdrkey1'] = cdrAtt1 ,
            ['cdrKey2'] = cdrAtt2 ...
        },
        ["customer"](array)=> {
            ['customerkey1'] = customerAtt1 ,
            ['customerKey2'] = customerAtt2 ...
        },
        ["phoneNumber"](array)=> {
            ['phoneNumberkey1'] = phoneNumberAtt1 ,
            ['phoneNumberKey2'] = phoneNumberAtt2 ...
        } 
}

答案 1 :(得分:0)

您只需声明一个数组,将其他三个数组与函数array_merge一起添加到循环