3 개의 값 (group_id, user_id, unit_id)이 일치하는 결합을 기반으로 두 개의 배열이 있습니다. 이 값이 하나의 배열에는 나타나지만 다른 배열에는 나타나지 않으면 값이 없다는 것을 나타 내기 위해 문자열을 삽입하고 싶습니다.다차원 배열 결합
배열 1 :
Array
(
[0] => Array
(
[group_id] => 1
[user_id] => 7
[unit_id] => 21382
[amount] => 500
[type] => A
)
[1] => Array
(
[group_id] => 1
[user_id] => 7
[unit_id] => 24255
[amount] => 300
[type] => A
)
[2] => Array
(
[group_id] => 1
[user_id] => 4
[unit_id] => 21382
[amount] => 50
[type] => A
)
[3] => Array
(
[group_id] => 1
[user_id] => 4
[unit_id] => 24255
[amount] => 67
[type] => A
)
)
배열 2 :
Array
(
[0] => Array
(
[group_id] => 1
[user_id] => 7
[unit_id] => 21382
[amount] => 100
[type] => B
)
[1] => Array
(
[group_id] => 1
[user_id] => 7
[unit_id] => 24255
[amount] => 82
[type] => B
)
)
원하는 결과 :
Array
(
[0] => Array
(
[group_id] => 1
[user_id] => 7
[unit_id] => 21382
[A] => 500
[B] => 100
)
[1] => Array
(
[group_id] => 1
[user_id] => 7
[unit_id] => 24255
[A] => 300
[B] => 82
)
[2] => Array
(
[group_id] => 1
[user_id] => 4
[unit_id] => 21382
[A] => 50
[B] => undefined
)
[3] => Array
(
[group_id] => 1
[user_id] => 4
[unit_id] => 24255
[A] => 67
[B] => undefined
)
)
나는 부분적인 결과를 얻기 위해 관리하는 foreach 루프를 사용하지만이 '아무튼 값이 하나의 배열에 나타나고 다른 배열에 나타나지 않는 경우를 설명합니다.
foreach ($array_1 as &$arr1) {
foreach ($array_2 as $arr2) {
if ($arr1['group_id'] == $arr2['group_id'] && $arr1['user_id'] == $arr2['user_id'] && $arr1['unit_id'] == $arr2['unit_id']) {
$newArr[] = array('group_id'=>$arr1['group_id'], 'user_id'=>$arr1['user_id'], 'unit_id'=>$arr1['unit_id'], 'group_id'=>$arr1['group_id'], 'A'=>$arr1['amount'], 'B'=>$arr2['amount']);
break;
}
}
}
이 작업을 통해 많은 시간을 절약 할 수있었습니다. 감사합니다. – user6368630