Array(
[Group 1] => Array
(
[0] => Array
(
[category] => Group1
[firstname] => John
[lastname] => Johns
[image] => /mysite.etc/jj.jpg
)
[1] => Array
(
[category] => Group1
[firstname] => John
[lastname] => James
[image] => /mysite.etc/jj2.jpg
)
)
[Group 2] => Array
(
[0] => Array
(
[category] => Group2
[firstname] => John
[lastname] => Jackson
[image] => NULL
)
[1] => Array
(
[category] => Group2
[firstname] => John
[lastname] => Jimson
[image] => /mysite.etc/jj4.jpg
)
)...etc)
나는 배열을 통해 루프를 시도하고 제거하는 것 같은 보이는 세 가지 차원 배열을 가지고있는 people
(즉, 배열의 두 번째 수준)이 [image]
에 값이없는 세포.
나는
foreach($MyArray as $Key=>&$group){
foreach($group as &$staff){
if(!file_exists($staff['image'])){
unset($staff);
}
}
}
을 시도했지만이 이미지 없음 배열 항목을 제거하지 않습니다. 루프는 이미지가없는 스태프를 페이지에 반향시키기위한 약간의 코드가 포함 된 것처럼 정확하게 식별합니다.
$MyArray
어레이에서 설정을 해제하지 않는 것입니다.
누구든지 나를 이룰 수 있습니까? 당신이 (가) $ 그룹과 $ 직원을 알아야한다 //
$ 직원이 임시 변수입니다. 이 코드는 OP가하려고하는 원래 배열에는 영향을 미치지 않습니다. 아래 Jason Yang의 대답을보십시오. – Maximus2012
당신 말이 맞습니다. 내 대답을 업데이트합니다. – Aris
Maximus2012 - 변수를 & $ staff (앰퍼샌드 포함)로 정의하지 않으면 임시 복사본이 아니라 원래 객체에 대한 참조로 설정됩니까? – Ambulare