Как получить массив, объединив два значения массива

У меня есть два массива

$column_names=array[ 0=>'student_id', 1=>'college_name', 2=>'name' ]

а также

$student_details=array[ 0=>array [
   0=>'1', 1=>'xxx', 2=>'aaa' ], 1=>array [
   0=>'2', 1=>'yyy', 2=>'bbb' ] ] 

Я хочу получить массив вывода, как показано ниже:

 $student_details=array[ 0=>array [
'student_id'=>'1', 'college_name'=>'xxx', 'name'=>'aaa' ], 1=>array [
'student_id'=>'2', 'college_name'=>'yyy', 'name'=>'bbb' ] ] 

Пожалуйста, помогите мне получить вышеуказанный результат.

что ты уже испробовал? и почему он не оправдал ваших ожиданий?

DevDonkey 31.10.2018 13:32

Вы должны опубликовать настоящий код или сделать var_dump() или print_r() данных. Этот псевдокод затрудняет чтение и невозможность тестирования.

jeroen 31.10.2018 13:33

Я попробовал метод array_push внутри цикла. но я не получил должного результата.

Pavan Kumar 31.10.2018 13:34

Добро пожаловать. $column_names=array[..] работает?

brombeer 31.10.2018 13:38

$ column_names = Массив ([0] => school_id [1] => admission_no) $ student_details = Массив ([0] => Массив ([0] => 5 [1] => 55) [2] => Массив ( [0] => 5 [1] => 55)) это два входа

Pavan Kumar 31.10.2018 13:43
3
5
50
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы можете зациклить массив и использовать array_combine

$column_names= [ 0=>'student_id', 1=>'college_name', 2=>'name' ];

$student_details=[ 0=>[
   0=>'1', 1=>'xxx', 2=>'aaa' ], 1=>[
   0=>'2', 1=>'yyy', 2=>'bbb' ] ];

foreach($student_details as &$sub){
    $sub = array_combine($column_names, $sub);
}
var_dump($student_details);

Выход:

array(2) {
  [0]=>
  array(3) {
    ["student_id"]=>
    string(1) "1"
    ["college_name"]=>
    string(3) "xxx"
    ["name"]=>
    string(3) "aaa"
  }
  [1]=>
  &array(3) {
    ["student_id"]=>
    string(1) "2"
    ["college_name"]=>
    string(3) "yyy"
    ["name"]=>
    string(3) "bbb"
  }
}

https://3v4l.org/D9kCE

foreach ($ student_details как & $ sub) {$ sub = array_combine ($ column_names, $ sub); }, ЭТОТ КОД РАБОТАЕТ НАДЛЕЖАЩИМ, БОЛЬШОЕ СПАСИБО

Pavan Kumar 31.10.2018 13:55

Попробуй это:-

$column_names = [ 0=>'student_id', 1=>'college_name', 2=>'name' ];

$student_details = [ 
    0=>[0=>'1', 1=>'xxx', 2=>'aaa' ], 
    1=>[0=>'2', 1=>'yyy', 2=>'bbb' ] 
];
$new_array = [];
foreach($student_details as $k=>$val){
     $new_array[$k] =  array_combine($column_names, $val);
}

print_r($new_array);

Другие вопросы по теме