Notice: Undefined offset: 1 in ... 에러 해결법?
for ($i=0; $row=$mw5_menu[$i]; ++$i)
코드에서
Notice: Undefined offset: 1 in ~~ 에러 발생하는데...
어떻게 해야 이게 안 나타날까요?
몇 시간 검색해봤는데, 도저히 모르겠네용. ㅜㅜ
PHP7.2.10 에서 발생하는 에러입니다.
답변 5개 / 댓글 8개
foreach($mw5_menu as $i=>$row)
이렇게 해보세요.
답변에 대한 댓글 1개
해결책을 찾았네용. ㅎ
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) { // 홈짱
error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING)
이걸로 NOTICE, WARNING 메세지를 감춰면 안되겠져 ^^
답변에 대한 댓글 1개
for ($i=0; $row=$mw5_menu[$i]; ++$i)
반복문 for 구문은 $row = $mw5_menu[$i]; 이부분을
> >= < <= 등등의 부등호 등호와 같은 녀석들이 들어가야 합니다.
답변에 대한 댓글 5개
반복문 구조가 0부터 시작해서 메뉴테이블의 메뉴개수만큼 반복되게 하는 소스 같거든요.
ps.
배추빌더5 head.php에 있는 코드입니다.
다른 변수 한개로 카운트를 해야 한다는 말이죠
$m = count($mw5_menu[$i]);
이런 식 말씀하시는 건가요?
for 코드가 for($i=0; $i<10; $i++)
보통 이렇잖아요...
그런데 $i 자리에 $row 가 들어와서 그런거 같네요.
위 처럼 사용하시려면 for 대신 while 이나 foreach 로 변환해 주는게 더 좋지 않을까 싶습니다.
답변에 대한 댓글 1개
에러 비출력시키면 되는데, 깨끗하게 처리하는 방법이 있나 해서..^^;
답변을 작성하려면 로그인이 필요합니다.
메뉴 옆에 이 메뉴도 나타나네요.
메뉴 준비 중입니다.관리자모드 > 환경설정 > 메뉴설정에서 설정하실 수 있습니다.