как получить массив, соединив два значения массивов - PullRequest
0 голосов
/ 31 октября 2018

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

$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' ] ] 

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

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

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

$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);
0 голосов
/ 31 октября 2018

Вы можете зациклить массив и использовать 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...