카테고리 없음

[PHP] FOREACH를 사용하여 다차원 배열 반복

행복을전해요 2021. 2. 4. 04:49

거의 완료했습니다.

foreach ($bookings as $record) {
    echo $record['#BOOKED#']['user_id'];
        echo '<br>';
            echo $record['#RESERVE#']['user_id'];
                echo '<br>';
                }
                

또는 foreach표시하려는 방법에 따라 두 개로 나뉩니다 .

foreach ($bookings['#BOOKED#'] as $record) {
    echo $record['user_id'];
        echo '<br>';
        }
        foreach ($bookings['#RESERVE#'] as $record) {
            echo $record['user_id'];
                echo '<br>';
                }
                

이것을 얼마나 자주 사용하고 다른 유사한 배열이있는 경우 함수를 사용하고 $bookings['#RESERVE#']예를 들어 그냥 전달할 수 있습니다 .

-------------------

다음으로 시도하십시오.

foreach ($bookings as $status => $records) {
    foreach ($records as $record) {
            echo $record['user_id'];
                    echo '<br>';
                        }
                        }
                        
-------------------

다차원 배열을 라이브러리라고 생각합니다. 라이브러리에는 배열의 최상위 레이어와 같이 주제를 분리 할 수있는 여러 영역이 있습니다. 그런 다음 배열의 두 번째 수준과 같이 각 주제를 분류하는 다양한 서적 케이스가 있습니다. 그런 다음 다른 선반 (저자라고합시다)-배열의 3 단계처럼. 데이터를 저장하고 찾는 매우 깔끔한 방법입니다. 작성한 다차원 배열은 다음과 같이 나타납니다.

최상위 수준 :

#BOOKED#
#RESERVE#

2 단계 : (이 수준이 존재하는 이유를 개인적으로 이해하지 못함)

0

3 단계 :

id
user_id
class_id
class_date
manual_booking
booked_date
cancelled_date

배열의 최상위 레벨을 분리하려면 다음과 같은 조건문을 사용할 수 있습니다.

foreach ($bookings as $status => $record) {
    if($status=="#BOOKED#") {
            // i.e. do something for booked array
                    echo $record[0]['user_id'];
                        } else {
                                // i.e. do something for reserved array
                                        echo $record[0]['user_id'];
                                            }
                                            }
                                            

하지만 두 번째 수준을 제거하는 것에 대해 생각해보십시오. 여기에 0 이상의 값이 없으면 필요하지 않은 것 같습니다.



출처
https://stackoverflow.com/questions/22050038