본문 바로가기
개발/PHP

[php] 배열과 배열 비교

by 똘또히 2021. 12. 10.

배열과 배열을 비교해야할때가 간혹 있다.

가령 A에 담긴것을 B가 포함하는지 아닌지를 말이다. 이럴때 배열과 배열을 비교하고 제외하거나 추가 할수있는 간단한 방법이 있다. 

당연히 둘은 배열관계여야 한다

$before = array(0,1,2,3,4,5,6);
$after   = array(3,4,5,6);
 
$intersect= array_intersect($before, $after);

결과: 3,4,5,6 이다.

둘다 값을 가진것에 해당하는 결과값이다. 

그렇다면 after 에 없는 값은??

$diff= array_diff($before, $after);

결과 : 0,1,2 가 된다.

그럼 한가지 활용의예를 들어보자

before 값에서 after 가 전혀 다른값이 있을 경우 after 에 새로운값은 저장하고

동일한 값은 유지하며 after에 없는 값은 before 에서 삭제 할 경우 어떻게 해야할까?

foreach($after as $after) {

    if (!in_array($after, $intersect) ) {

        echo $after;

    };

};

위 처럼 하면 응용도 가능하다