읽기 전용 다차원 연관 배열이 있습니다. 특정 값을 추출하여 일부 값으로 출력을 생성해야합니다.PHP를 사용하여 다차원 배열에 특정 키/값을 나열하십시오.
배열은 다음과 같다 :
array (
'Dogs' =>
array (
0 =>
array (
'Name' => 'Big Dogs',
'ID' => '32',
'Brown dogs' =>
array (
0 =>
array (
'Name' => '4 legged dogs',
'Retrievers' =>
array (
0 =>
array (
'Name' => 'Fido',
'ID' => '11',
'Owner' => 'Billy',
'IsaBiter' => true,
),
),
),
1 =>
array (
'Name' => '3 legged dogs',
'Retrievers' =>
array (
0 =>
array (
'Name' => 'Spot',
'ID' => '12',
'Owner' => 'Sally',
'IsaBiter' => false,
),
),
),
등
..
다음과 같이 어레이의 모든 값을 출력 할 수있는 배열을 실행 중첩 foreach 루프 :
echo "<ul>";
foreach($myArray as $arr1 => $val1) {
foreach($val1 as $arr2 => $val2) {
foreach($val2 as $val3) {
echo "<li>" . $val3 . "<ul>";
foreach($val3 as $arr4 => $val4) {
foreach($val4 as $arr5 => $val5) {
echo "<li>" . $val5;
foreach($val5 as $arr6 => $val6) {
//echo $val6;
foreach($val6 as $arr7 => $val7) {
echo $val7 . "<br />"; //dumps the details
}
echo "</li>";
}
}
}
echo "</ul>";
echo "</li>";
}
}
}
이상적으로 나는 쇼 (ID, 특정 배열 레벨 이름 등, 현재는 모두 표시) 및 2) 특정 이름 (예 : 이름, 소유자, IsaBiter)을 표시하지 않으려는 값을 제외 할 수 있기를 바랍니다. 다음과 같이 결과를 더 명확하게 포맷 할 수 있습니다.
Big Dogs
Brown Dogs
Retrievers
Name: Fido
Owner: Billy
IsaBiter: true
Name: Spot
Owner: Sally
IsaBiter: false
재귀를 사용해야합니다. –
foreach ($ array AS $ key => $ value) {}를 사용하면 $ key를 보여주고 자하는 문자열과 비교할 수 있습니다. 어쨌든, 레벨을 필터링하는 것은 더 복잡 할 것입니다. 반복자 값 (정수 계산 레벨)을 포함하고 적절하게 제외해야합니다. 어쩌면, @WayneWhitty가 말했듯이, 재귀를 사용하는 것이 더 좋을 것입니다. –
의견을 주셔서 감사합니다. – bridgemanusa