[php] 배열과 배열 비교

[php] 배열과 배열 비교

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

가령 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;

};

};

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

from http://tronge.tistory.com/206 by ccl(A) rewrite - 2021-12-10 15:27:03