PHP 在一维数组中比较多维数组值然后合并数组

PHP compare multidimensional array values in single dimensional array then merge the array

数组 1:

Array
(
    [0] => Array
        (
            [status_id] => 15
            [status_posted_by] => 2
            [status_msg] => 
            [posted_date_and_time] => 2017-06-21 12:22:01
            [image_name] => JO361165.jpg
            [type] => photo
            [share_status] => 0
            [shared_by] => 0
        )

    [1] => Array
        (
            [status_id] => 32
            [status_posted_by] => 2
            [status_msg] => 
            [posted_date_and_time] => 2017-06-21 12:12:51
            [image_name] => JO262000.jpg
            [type] => photo
            [share_status] => 0
            [shared_by] => 0
        )
)

数组 2

Array
(
    [15] => 2
    [24] => 1
)

预期结果是将 array2 与 array1 进行比较。如果array1[status_id]=array2[key]

合并
[status_id] => 15
[status_posted_by] => 2
[status_msg] => 
[posted_date_and_time] => 2017-06-21 12:22:01
[image_name] => JO361165.jpg
[type] => photo
[share_status] => 0
[shared_by] => 0
[like] => 2

您可以使用 array_combine( ) 函数,它可能对您有所帮助

array array_combine ( array $keys , array $values );
$a = array('green', 'red', 'yellow');
$b = array('avocado', 'apple', 'banana');
$c = array_combine($a, $b);

您可以试试下面的代码:

$merged_array = array();

for ($count1 = 0; $count1 < count ($array1); $count1++) {
    for ($count2 = 0; $count2 < count ($array1); $count2++) {
        if ($array1[$count1]['status_id'] == $array2[$count2]['key']) {
            $merged_array[] = array_merge($array1[$count], $array2[$count2]);
        }
    }
}

$merged_array 现在应该有所需的数据