как вставить массив данных в многомерный массив в конце в PHP

0

У меня есть массив размером от цикла для foreach. Я хочу вставить новые данные из массива в конце массива multi size следующим образом:

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
    Вы рассматривали $arr[] = или array_push ?
Теги:
arrays

5 ответов

1
Лучший ответ

Просто можно назначить с помощью $arr2[] = $arr1 или array_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
    спасибо за работу отлично :)
  • 0
    Добро пожаловать :) Рад помочь.
1

Используйте array_push для вставки данных в конец массива.

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;
}

Используя этот код, вы получите нужный вам результат, небольшой пример array_push

благодаря

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);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню