【问题标题】:how to get an array by joining two arrays values如何通过连接两个数组值来获取数组
【发布时间】:2018-10-31 12:31:54
【问题描述】:

我有两个数组

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

请有人帮我获得上述输出。

【问题讨论】:

  • 到目前为止您尝试过什么?为什么它没有达到您的期望?
  • 您应该发布真实代码或对数据进行var_dump()'s 或print_r()'s。此伪代码难以阅读且无法测试。
  • 我在 for 循环中尝试了 array_push 方法。但我没有得到正确的输出。
  • 欢迎。 $column_names=array[..] 有效吗?
  • $column_names=Array ([0] => school_id [1] => admission_no) $student_details=Array ([0] => Array ([0] => 5 [1] => 55 ) [2] => 数组 ( [0] => 5 [1] => 55 ) ) 这是两个输入

标签: php arrays multidimensional-array associative-array


【解决方案1】:

你可以循环数组并使用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 as &$sub){ $sub = array_combine($column_names, $sub); },此代码运行正常,非常感谢
【解决方案2】:

试试这个:-

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

【讨论】:

    猜你喜欢
    • 2021-12-30
    • 2021-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多