Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将两个数组中的特定值合并到一个数组中(有例外)?_Php_Arrays - Fatal编程技术网

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'