foreach 이게 가능할까요??

foreach 이게 가능할까요??

QA

foreach 이게 가능할까요??

본문

안녕하세요.

아래와 같은 변수 두개가 있습니다.

 

$data1  //10개의 고정 배열 개수를 가지고 있습니다.

$data2  //가변적인 배열 개수를 가지고 있습니다.

 

제가 원하는것은 $data1을 출력시킨후 $data2와 비교하는것인데

아래와 같이 할경우에는 $data2가 무조건 $data1의 배열 개수 만큼 돌아버리는데요.

$data1의 영향을 받지 않고 $data2의 가변적인 배열개수만큼 돌리는 방법이 있을까요??

저도 말도 안되는 말인지 알지만 혹시나 해서...요.

아니면 다른 꼼수?? 같은게 있을지..

고수님들의 의견 감사히 듣겠습니다.

foreach($data1 as $key1 => $val1){

        <div>

                foreach($data2 as $key2 => $val2){

                if.... $data1 $data2 비교

                }

        </div>

}

이 질문에 댓글 쓰기 :

답변 2

지금 코드 자체가 가변적으로 돌고있습니다.

자세히 보시면

첫번째 foreach 에서는 10개의 고정 배열이고

두번째 foreach 에서는 3개가 될수도 있고 5개가 될수도 있는 가변적인 배열인거죠?

어쨋든 무조건 첫번째 반복문이 실행될때

그 안에서 2번째 $data2 배열의 개수만큼이 반복되기 때문에

$data2의 가변적인 배열의 개수만큼 돌고 있는 것 이 맞습니다.

$data2를 바깥으로 뽑아서 인식을 다시 시켜보세요

 

foreach($data2 as $key2 => $val2) {

    foreach($data1 as $key1 => $val1) {

        // if $val2 비교 $val1 

    }

}

 

모든 $data2의 값을

모든 $data1의 값과 각각 비교하려면

중첩루프가 전부 수행되는게 맛습니다.

 

출력에 부하가걸린다.면

변수를 이용해서 담은값을

나중에 출력하는것도 방법입니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 42
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT