PHP изменяет структуру / формат массива

#php #sql

#php #sql

Вопрос:

В настоящее время у меня есть массив, который выглядит следующим образом:

 Array
(
    [0] => Array
        (
            [language] => English
        )

    [1] => Array
        (
            [language] => Arabic
        )

    [2] => Array
        (
            [language] => Bengali
        )
)
  

Что я хотел бы сделать, так это изменить его, чтобы он выглядел следующим образом:

 Array
(
    [language] => Array
        (
            [0] => English
            [1] => Arabic
            [2] => Bengali
        )
)
  

У меня также есть массив, который выглядит следующим образом:

 Array
(
       [id] => 3
       [name] => lethalMango
       [joined] => 2010-01-01 00:00:00
)
  

И я хотел бы изменить его на:

 Array
(
    [user] => Array
        (
           [id] => 3
           [name] => lethalMango
           [joined] => 2010-01-01 00:00:00
        )
)
  

Я пробовал несколько методов без особого успеха, но я уверен, что есть более эффективный способ.

Комментарии:

1. Сложно сравнивать эффективность наших предложений с вашим кодом, учитывая, что вы не делитесь им с нами…

Ответ №1:

 FIRST : 

$result = array();
foreach($array as $value){
  $result['language'][]= $value['language']
}



SECOND : 

 $result['user'] = $array;
  

Комментарии:

1. Большое вам спасибо 🙂 Работает с удовольствием

Ответ №2:

Второй

 $result = array('user'=>$array);
  

Комментарии:

1. хехе. Гаурав сначала написал решение для первого массива, а затем отредактировал в нем второй 😉 Однако этот немного отличается и не требует $result существования до назначения массива, поэтому я оставляю ответ 🙂