Notice: Undefined offset: 1 in ... 에러 해결법?

Notice: Undefined offset: 1 in ... 에러 해결법?

QA

Notice: Undefined offset: 1 in ... 에러 해결법?

본문

for ($i=0; $row=$mw5_menu[$i]; ++$i)

 

코드에서

 

Notice: Undefined offset: 1 in ~~ 에러 발생하는데...

어떻게 해야 이게 안 나타날까요?

몇 시간 검색해봤는데, 도저히 모르겠네용. ㅜㅜ

 

PHP7.2.10 에서 발생하는 에러입니다.

 

이 질문에 댓글 쓰기 :

답변 5

foreach($mw5_menu as $i=>$row)

이렇게 해보세요.

이렇게 하니까, 해당 에러는 사라졌는데,
메뉴 옆에 이 메뉴도 나타나네요.

메뉴 준비 중입니다.관리자모드 > 환경설정 > 메뉴설정에서 설정하실 수 있습니다.

for 코드가 for($i=0; $i<10; $i++)

보통 이렇잖아요...

그런데 $i 자리에 $row 가 들어와서 그런거 같네요.

위 처럼 사용하시려면 for 대신 while 이나 foreach 로 변환해 주는게 더 좋지 않을까 싶습니다.

for ($i=0; $row=$mw5_menu[$i]; ++$i)

반복문 for 구문은 $row = $mw5_menu[$i]; 이부분을

> >= < <= 등등의 부등호 등호와 같은 녀석들이 들어가야 합니다.

 

다르게 바꾼다는 의미가 뭔지 궁금합니다.
반복문 구조가 0부터 시작해서 메뉴테이블의 메뉴개수만큼 반복되게 하는 소스 같거든요.
ps.
배추빌더5 head.php에 있는 코드입니다.

error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING)

이걸로 NOTICE, WARNING 메세지를 감춰면 안되겠져 ^^

해결책을 찾았네용. ㅎ

 

1단,

for ($i=0; $row=(isset($mw5_menu[$i]))?$mw5_menu[$i]:0;  ++$i) // 홈짱

 

2단,

for ($j=0; $row2=(isset($mw5_menu[$i]['sub'][$j]))?$mw5_menu[$i]['sub'][$j]:0 ; ++$j) { // 홈짱

 

답변을 작성하시기 전에 로그인 해주세요.
전체 3

회원로그인

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