채택완료

Undefined array key 에러문구 도움 부탁드립니다

2026-01-30 (금) 17:09:08 2,241
https://sir.kr/boards/g5_skin/63605
게시물의 질문 입니다


youtube.php 파일은 
/public_html/theme/Marigold/youtube.php 
에 올리고

<?php include_once(G5_THEME_PATH.'/youtube.php'); ?>
코드는

/public_html/theme/Marigold/page/test.php 
페이지에 적용했습니다

영상은 잘 나옵니다
영상위에 아래와 같은 에러문구가 4줄정도 뜹니다

Warning: Undefined array key 1 in /home1/wownoori/public_html/theme/Marigold/youtube.php on line 16




그리고...
혹시 랜덤재생으로 수정 가능할까요?
 
|

답변 4개 / 댓글 6개

채택된 답변
+20 포인트
2026-01-30 (금) 21:11:18
16번라인에 if (isset($match[1])) 이렇게 처리해주세요
그리고
// while 문 끝난 뒤에 약21번라인에 다음과 같이 추가해주세요
if (!empty($yt_ids)) {
    $combined = array_map(null, $yt_ids, $yt_titles);
    shuffle($combined);
    $yt_ids = array_column($combined, 0);
    $yt_titles = array_column($combined, 1);
}
 

답변에 대한 댓글 3개

2026-01-31 (토) 13:01:08
if(isset($match[1])){
$yt_ids[] = $match[1];
$yt_titles[] = addslashes($row['wr_subject']); // 자바스크립트 오류 방지를 위해 따옴표 처리

// while 문 끝난 뒤에 약21번라인에 다음과 같이 추가해주세요
if (!empty($yt_ids)) {
$combined = array_map(null, $yt_ids, $yt_titles);
shuffle($combined);
$yt_ids = array_column($combined, 0);
$yt_titles = array_column($combined, 1);
}
}
}

에러 .경고 문구는 깔금하게 사라졌는데 ...랜덤은 안되는듯 합니다.
소중한 답변 감사합니다
if (!empty($yt_ids)) {
$combined = [];
foreach ($yt_ids as $i => $id) { $combined[] = ['id' => $id, 'title' => $yt_titles[$i]]; }
shuffle($combined);
$yt_ids = array_column($combined, 'id');
$yt_titles = array_column($combined, 'title');
}
만약 이게 새로고침마다 랜덤이 안된다면 js nextVideo() 함수처리쪽에서 Math.random()로 처리해 주셔야합니다. 선생님
2026-01-30 (금) 18:19:40
에러 문구라기 보다는 경고 메시지입니다.
증상은 그렇습니다. 배열관련된 함수( explode나 array 같은..) 이런 함수를 사용하셨을 때 배열에 값이 없을때 나오는
경고 메시지입니다.
그래서, 정확한 진단을 하시려면 오류코드를 보여주시면 빠르게 해결이 가능할거 같습니다.

저런 오류를 무시하고 싶으시면 상단에 아래와 같은 코드를 붙여주시면 됩니다.

Copy
ini_set('display_errors', '0');
또는

Copy
error_reporting(0);


제가 말씀드리는 방법은 증상을 안보이게끔 하는 것이지 경고 메시지를 근본적으로 해결한것은 아닙니다.
코드를 보여주시면 랜덤하게 나오는 방법과 오류 대응 방법을 알려드리겠습니다.

답변에 대한 댓글 1개

2026-01-31 (토) 13:01:38
많이 어렵지만 소중한 답변 감사합니다
2026-01-30 (금) 17:43:56
아마 php 최신버전이라서 배열을 정의 안하신거 같네요. 해당 열에 있는 배열을 미리 정의해보세요.

답변에 대한 댓글 1개

2026-01-31 (토) 13:02:04
이해는 되는데 어렵네요 소중한 답변 감사합니다
에러 라인 코드를 적고 질문해 보세요.

답변에 대한 댓글 1개

2026-01-31 (토) 13:02:22
소중한 답변 감사합니다

답변을 작성하려면 로그인이 필요합니다.