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 现在应该有所需的数据
数组 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 现在应该有所需的数据