简体   繁体   English

如何通过连接两个数组值来获取数组

[英]how to get an array by joining two arrays values

I have two arrays我有两个数组

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

and

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

I want to get an out put array as below:我想得到一个输出数组,如下所示:

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

Please somebody help me out to get the above output.请有人帮我得到上面的输出。

You can loop the array and use array_combine您可以循环数组并使用 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);

Output:输出:

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 https://3v4l.org/D9kCE

Try this:-尝试这个:-

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM