나

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

· 2022-04-02 (토) 12:46:35 · 15993 · 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'] ?? '');
감사합니다 덕분에 오류 해결했습니다
감사합니다 :)

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

댓글을 작성하시려면 로그인이 필요합니다.
+
제목 글쓴이 날짜 조회
22-04-12 조회 1.2만
22-04-12 조회 6,692
22-04-09 조회 8,905
22-04-09 조회 7,083
22-04-08 조회 8,741
22-04-06 조회 1.1만
22-04-02 조회 1.6만
22-04-01 조회 8,466
22-03-31 조회 7,195
22-03-30 조회 8,604
22-03-29 조회 1만
22-03-29 조회 6,695
22-03-28 조회 7,178
22-03-26 조회 7,759
22-03-25 조회 8,461
22-03-24 조회 7,369
22-03-23 조회 6,288
22-03-23 조회 6,983
22-03-22 조회 6,695
22-03-22 조회 6,476
22-03-19 조회 7,841
22-03-19 조회 9,129
22-03-15 조회 8,233
22-03-14 조회 7,384
22-03-13 조회 7,604
22-03-12 조회 7,760
22-03-10 조회 7,426
22-03-09 조회 6,826
22-03-07 조회 7,571
22-03-06 조회 8,079