PHP8.x 에서 "Warning: Undefined array key ..." 를 만나면

· 3년 전 · 11138 · 17

Warning: Undefined array key "bo_mobile_subject" in .../lib/new_latest.lib.php on line 139

 

139: $list[$i]['bo_subject'] = ((G5_IS_MOBILE && $row['bo_mobile_subject']) ? $row['bo_mobile_subject'] : $row['bo_subject']);


=>  정의되지 않은 array key 변수 앞에 @ 를 붙이면 Warning 을 막을 수 있습니다.

$list[$i]['bo_subject'] = ((G5_IS_MOBILE && @$row['bo_mobile_subject']) ? @$row['bo_mobile_subject'] : @$row['bo_subject']);

 

참고 : https://www.php.net/manual/en/language.operators.errorcontrol.php

|

댓글 17개

유익한 정보입니다. 감사합니다.
@arari 감사합니다 ^^
@를 붙여서 에러를 건너띄는건 올바른 방법이 아닙니다.
더군다나 8.0부터는 해당기능이 Deprecate 상태이기때문에 나중버전에서는 삭제될수도 있습니다.
Warning

Prior to PHP 8.0.0, the value of the severity passed to the custom error handler was always 0 if the diagnostic was suppressed. This is no longer the case as of PHP 8.0.0.
@나리스 감사합니다 ^^
순정 G5 에서 없던 Warning 이 갑자기 생겨서 해결책으로 찾은건데 다른 좋은 방법이 있으면 알려주세요~
@욱이요 감사합니다 ^^
$list[$i]['bo_subject'] = (G5_IS_MOBILE && !empty($row['bo_mobile_subject'])) ? $row['bo_mobile_subject'] : $row['bo_subject'];
@라콩이 감사합니다 ^^
isset($row['bo_mobile_subject']) && $row['bo_mobile_subject']
@뻘미 감사합니다 ^^
제대로 코드 달아줬더니 누가 신고 먹이고 어이상실 ㅋㅋ
@mkmm 감사합니다 ^^
코드가 보이지 않는데 다시 올려주시면 다른분께 도움이 될듯합니다
null coalescing operator 를 사용하면 됩니다.
코드뒤에 ??'' 를 붙히면 됩니다.
$comp_uids = explode(',', $result['comp_uids'] ?? '');
감사합니다 덕분에 오류 해결했습니다
감사합니다 :)

하.. 이것 때문에 삽질하고 있었는데 감사합니다..

댓글을 작성하시려면 로그인이 필요합니다.

그누보드5 팁자료실

+
제목 글쓴이 날짜 조회
3년 전 조회 4,029
3년 전 조회 3,193
3년 전 조회 4,372
3년 전 조회 2,543
3년 전 조회 2,213
3년 전 조회 3,206
3년 전 조회 2,237
3년 전 조회 2,389
3년 전 조회 7,681
3년 전 조회 2,407
3년 전 조회 4,498
3년 전 조회 2,572
3년 전 조회 4,013
3년 전 조회 6,095
3년 전 조회 1.1만
3년 전 조회 4,089
3년 전 조회 2,908
3년 전 조회 4,241
3년 전 조회 5,712
3년 전 조회 2,497
3년 전 조회 2,829
3년 전 조회 3,445
3년 전 조회 3,947
3년 전 조회 2,993
3년 전 조회 2,087
3년 전 조회 2,680
3년 전 조회 2,425
3년 전 조회 2,271
3년 전 조회 3,580
3년 전 조회 4,670