как объединить два массива в php? [PHP] - PullRequest
0 голосов
/ 29 мая 2019

Я создал СУБЪЕКТЫ, КОТОРЫЕ БУДУТ ПРИНЯТЬ СТУДЕНТЫ в «предметной» таблице

СТОЛ "ПРЕДМЕТ"

ID| SHORTNAME | SUBJECT_NAME 
1 | MT        | MATHEMATICS 
2 | ASC       | ADDITIONAL SCIENCE

Столбцы в этой таблице автоматически генерируются в таблицу "MID_YEAR_EXAMINATION"

ТАБЛИЦА "MID_YEAR_EXAMINATION"

ID | STUDENT NAME | MT | ASC

Баллы, полученные студентами по каждому предмету, заносятся в таблицу «MID_YEAR_EXAMINATION»

ID | STUDENT_NAME | MT | ASC
1  | ALEX         | 88 | 62
2  | ELLY         | 78 | 43

МОЙ ВОПРОС: у меня есть два массива code2

$input1= array(
    "id" => $row['ID'],
    "name" => $row['STUDENT_NAME']
);

$sel_query3="Select * from SUBJECT  ORDER BY SUBJECT_NAME";
$result3 = @mysqli_query($con,$sel_query3);
while($row2 = @mysqli_fetch_assoc($result3)){   
    $MP = $row2['SHORTNAME'];
    $m = $row['SUBJECT_NAME']; //TO GET student's score 
    in each subject
            $input2 = array($MP => $m); 
    }
}
Echo  json_encode($input2);

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

FROM

[
    "id"   => "1",
    "name" => "ALEX",
    "MT"   => "88"
]
[
    "id"   => "1",
    "name" => "ALEX",
    "ASC"  => "62"
]

К

[
    "id"   => "1",
    "name" => "ALEX",
    "MT"   => "88",
    "ASC"  => "62"
]

(«MT» и «ASC» объединяются в один массив)

Мне нужна твоя помощь. Спасибо!

1 Ответ

2 голосов
/ 30 мая 2019

Используйте функцию PHP array_merge(): https://www.php.net/manual/en/function.array-merge.php

Если исходные массивы назначены $ a и $ b, это просто $combined = array_merge( $a, $b );

Если $ b имеет другое значение для элемента с таким же именем в $ a, значение из $ b победит.

$a = [
  "id"   => "1",
  "name" => "ALEX",
  "MT"   => "88"
];
$b = [
    "id"   => "1",
    "name" => "ALEX",
    "ASC"  => "62"
];
print_r( array_merge( $a, $b ) );

выход:

Array
(
    [id] => 1
    [name] => ALEX
    [MT] => 88
    [ASC] => 62
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...