Php 如何将两个数组中的特定值合并到一个数组中(有例外)?
我有以下两个不同的数组 第一个阵列:Php 如何将两个数组中的特定值合并到一个数组中(有例外)?,php,arrays,Php,Arrays,我有以下两个不同的数组 第一个阵列: Array ( [0] => stdClass Object ( [course_id] => 21 [session_id] => 17 [course_name] => Session 1 Course 1 [course_description] => Session 1 Course 1
Array
(
[0] => stdClass Object
(
[course_id] => 21
[session_id] => 17
[course_name] => Session 1 Course 1
[course_description] => Session 1 Course 1
[course_days] => 2
[current_rate] => 1000
[old_rate] =>
[primary_tutor_id] => 18
[secondary_tutor_id] => 25
[additional_time] =>
[location] =>
[course_active] => 1
)
[1] => stdClass Object
(
[course_id] => 22
[session_id] => 17
[course_name] => Session 1 Course 2
[course_description] => Session 1 Course 2
[course_days] => 3
[current_rate] => 1000
[old_rate] =>
[primary_tutor_id] => 24
[secondary_tutor_id] => 25
[additional_time] =>
[location] =>
[course_active] => 1
)
[2] => stdClass Object
(
[course_id] => 23
[session_id] => 17
[course_name] => Session 1 Course 3
[course_description] => Session 1 Course 3
[course_days] => 5
[current_rate] => 2000
[old_rate] =>
[primary_tutor_id] => 26
[secondary_tutor_id] => 27
[additional_time] =>
[location] =>
[course_active] => 1
)
[3] => stdClass Object
(
[course_id] => 26
[session_id] => 19
[course_name] => Session 3 Course 2
[course_description] => Session 3 Course 2
[course_days] => 2
[current_rate] => 400
[old_rate] =>
[primary_tutor_id] => 29
[secondary_tutor_id] => 29
[additional_time] =>
[location] =>
[course_active] => 1
)
[4] => stdClass Object
(
[course_id] => 27
[session_id] => 19
[course_name] => Session 3 Course 3
[course_description] => Session 3 Course 3
[course_days] => 1
[current_rate] => 200
[old_rate] =>
[primary_tutor_id] => 26
[secondary_tutor_id] =>
[additional_time] =>
[location] =>
[course_active] => 1
)
)
第二个阵列:
Array
(
[0] => stdClass Object
(
[discount_id] => 104
[session_id] => 17
[no_course] => 3
[discount] => 20
)
[1] => stdClass Object
(
[discount_id] => 106
[session_id] => 19
[no_course] => 2
[discount] => 20
)
)
我试图将第二个数组中的所有键和值组合到第一个数组中,如下面的示例所示
Array
(
[0] => stdClass Object
(
[course_id] => 21
[session_id] => 17
[course_name] => Session 1 Course 1
[course_description] => Session 1 Course 1
[course_days] => 2
[current_rate] => 1000
[old_rate] =>
[primary_tutor_id] => 18
[secondary_tutor_id] => 25
[additional_time] =>
[location] =>
[course_active] => 1
[discount_id] => 104
[session_id] => 17
[no_course] => 3
[discount] => 20
)
)
我已经尝试了以下代码和许多其他代码,但我不能得到完美的解决方案。在这两个数组中,如果两个[session_id]都相同,则需要以其他方式合并数组,因为它是未合并的数组,则有一个例外:
$main=array();
foreach ($courses as $key => $val) {
foreach ($session_discount as $se) {
if ($se->session_id == $val->session_id)
$main[$key] = $val;
array_push($main[$key], $session_discount[0]);
}
}
需要帮助。。!提前谢谢。你知道数组和对象的区别吗?是的,我知道,我贴错了什么,先生?是的,
$main[$key]
是对象,很抱歉,我在编写代码时感到困惑,我曾尝试过多次转换它,但它返回空值,而不是array\u push
尝试如下操作:$main[$key]->some\u prop='some Value'代码>