2014-11-22 149 views
0

我有循环阵列多维数foreach。 我想在阵列多维度的这样的末尾插入阵列由新的数据:如何在阵列尾部插入阵列数据到php

Array 
    (
    [setting_code] => gen_logo 
    [setting_value] => logo.png 
    ) 


Array 
    (
[0] => Array 
    (
     [setting_code] => gen_site_name 
     [setting_value] => Codeigniter School CMS 
    ) 

[1] => Array 
    (
     [setting_code] => gen_email_info 
     [setting_value] => [email protected] 
    ) 

[2] => Array 
    (
     [setting_code] => gen_meta_author 
     [setting_value] => awnLabs.co 
    ) 
) 

那么结果我想是这样的:

Array 
    (
[0] => Array 
    (
     [setting_code] => gen_site_name 
     [setting_value] => Codeigniter School CMS 
    ) 

[1] => Array 
    (
     [setting_code] => gen_email_info 
     [setting_value] => [email protected] 
    ) 

[2] => Array 
    (
     [setting_code] => gen_meta_author 
     [setting_value] => awnLabs.co 
    ) 
[3] =>Array 
    (
    [setting_code] => gen_logo 
    [setting_value] => logo.png 
    ) 
) 

如何获得导致像上面?感谢之前的帮助:)

+0

你有没有考虑array_push

感谢的一个小例子'$改编[] ='或'array_push'? – Ohgodwhy 2014-11-22 07:46:07

回答

1

只需使用$arr2[] = $arr1array_push()即可指定。例如:

$arr1 = Array 
(
    "setting_code" => "gen_logo", 
    "setting_value" => "logo.png", 
); 


$arr2 = array 
(
    0 => array 
    (
     "setting_code" => "gen_site_name", 
     "setting_value" => "Codeigniter School CMS" 
    ), 
    1 => array 
    (
     "setting_code" => "gen_email_info", 
     "setting_value" => "[email protected]" 
    ), 
    2 => array 
    (
     "setting_code" => "gen_meta_author", 
     "setting_value" => "awnLabs.co", 
    ) 
); 

$arr2[] = $arr1; 
// or 
//array_push($arr2, $arr1); 

print "<pre>"; 
print_r($arr2); 
print "</pre>"; 
+0

谢谢你的工作:) – user3562918 2014-11-22 08:09:26

+0

欢迎:)很高兴帮助。 – MH2K9 2014-11-22 08:16:11

0

您应该使用array_merge()函数。

这里是例子:

$arr1 = 
      Array 
      (
      "setting_code" => "gen_logo", 
      "setting_value" => "logo.png", 
      ); 
    $arr2 = 
      Array 
      (
      Array 
       (
        "setting_code" => "gen_site_name", 
       "setting_value" => "Codeigniter School CMS" 
      ), 
      //Rest elements 

      ); 
    $result = array_merge($arr2, $arr1); 
0

array_push简单,容易出现这种情况。例如:

$logo_1 = array 
     (
     'setting_code' => 'gen_logo', 
     'setting_value' => 'logo.png' 
     ); 
    $logo_2 = array 
      (
      'setting_code' => 'gen_logo', 
      'setting_value' => 'logo.png' 
      ); 
    $arr = array(); 
    array_push($arr, $logo_1); 
    array_push($arr, $logo_2); 
    var_dump($arr); 
0
$var=array(); 
$test_arr['setting_code']='gen_site_name'; 
$test_arr['setting_value']='Codeigniter School CMS'; 
array_push($var, $test_arr); 
$test_arr['setting_code']='gen_email_info'; 
$test_arr['setting_value']='[email protected]'; 
array_push($var, $test_arr); 
$test_arr['setting_code']='gen_meta_author'; 
$test_arr['setting_value']='awnLabs.co'; 
array_push($var, $test_arr); 
foreach ($var as $key=>$value){ 
    $arr[$key]=$value; 
} 

通过使用此代码,你会得到你所需要的输出,