2013-11-22 3 views
2

에 사용하는 것에 대해 확실하지 array_diff_key. 배열 b에 대해 배열 a를 검사하고 b에없는 배열의 전체 행을 반환하고 싶습니다. 나는 그들 모두를 망쳐 놓고 원하는 결과를 얻을 수 없다. 내 배열은 다음과 같이 :array_diff/array_diff_assoc/내가 동일한 키를 가진 두 개의 배열이이 상황

//array a 
Array 
(
[0] => Array 
    (
     [pid] => 457633 
     [name] => Test 
     [descr] => sample 
     [creator] => 
     [datetime] => 
    ) 

) 
//array b 
Array 
    (
    [0] => Array 
    (
     [pid] => 1234 
     [name] => server 
     [descr] => server 
     [creator] => server 
     [datetime] => server 
    ) 

[1] => Array 
    (
     [pid] => 12343 
     [name] => serv3er 
     [descr] => ser3ver 
     [creator] => se3rver 
     [datetime] => serve3r 
    ) 

) 

이 내가 array_diff_assoc 때의 결과 (B, A)

Array 
(
[1] => Array 
    (
     [pid] => 12343 
     [name] => serv3er 
     [descr] => ser3ver 
     [creator] => se3rver 
     [datetime] => serve3r 
    ) 

)

을하지만 난 비교할 때 그것이 비어 B로.

심지어 단지 배열 (이 경우 PID)의 첫 번째 값을 비교 더 나아가, 그리고 할 경우 그 둘 반환에 행이

답변

1

체크 아웃 여기에 두 번째 대답이 : array_diff() with multidimensional arrays합니다. array_udiff를 사용

(단지에만 변화에 대해 당신이 ;-) 시도하지 않은) (http://us2.php.net/array_udiff은) 최선의 해결책처럼 보인다.

+0

완벽! 내가 설명했던 것처럼 잘 작동했다. 감사합니다 –

+0

당신은 환영합니다, 나는 적절한 링크로 나의 대답을 업데이트했지만, 당신이 그것을 필요로하지는 않음) o) –

관련 문제