2012-11-21 2 views
0

나는 다음과 같은 배열이 있습니다PHP : 비 순서화 된 인덱스 다차원 배열을 통과

$users = array_map("unserialize", array_unique(array_map("serialize", $users))); 

내가 얻을 : 위해

$users 
: array = 
    0: array = 
    0: object(Person) = 
     strName: string = John 
     strLastName: string = Smith 
     strAge: string = 19 
    1: object(Person) = 
     strName: string = Jean 
     strLastName: string = Newton 
     strAge: string = 22 
    1: array = 
    0: object(Person)= 
     strName: string = John 
     strLastName: string = Smith 
     strAge: string = 19 
    1: object(Person) = 
     strName: string = Jean 
     strLastName: string = Newton 
     strAge: string = 22 
    2: array = 
    0: object(Person) = 
     strName: string = Martin 
     strLastName: string = Marin 
     strAge: string = 25  

내가했던 중복 제거하는

를 :

$users 
: array = 
    0: array = 
    0: object(Person) = 
     strName: string = John 
     strLastName: string = Smith 
     strAge: string = 19 
    1: object(Person) = 
     strName: string = Jean 
     strLastName: string = Newton 
     strAge: string = 22 
    1: array = 
    0: object(Person) = 
     strName: string = Martin 
     strLastName: string = Marin                           
     strAge: string = 25 

이제 배열에 포함 된 정보를 가져와야합니다.

$i=0; 
foreach ($users as $u) 
{ 
    echo $u [$i]->getName()); 
. 
. 
    $i++; 
} 

을하지만 $ u는 [2] NULL 인 배열의 모든 요소를 ​​인쇄 아니에요 : 내가하고 있어요.

내가 뭘 잘못하고있어?

감사합니다.

답변

0

중첩 된 배열이 있습니다. 중첩 루프가 필요합니다.

foreach ($users as $ulist) { 
    foreach ($ulist as $u) { 
     echo $u->getName(); 
    } 
} 
0

$i=0; 
foreach ($users as $u) 
{ 
    while ($u [$i] != NULL){ 
echo $u [$i]->getName(); 
. 
. 
    $i++; 
} 
$i=0 
} 
유 원에 시도

을 시도하지만, $ 내가

더 정확한 다시 didnt가 :

배열 전화를

0 0 
0 1 
1 2 << does not exist => $u [2] = Null 
1 3 
관련 문제