반응형
메시지:null 유형의 값에 대한 어레이 오프셋에 액세스하려고 합니다.
몇 년째 사용하고 있는 스크립트(송신기)에서 이 에러가 여러 번 발생하고 있습니다만, 안타깝게도 작성자에 의해 관리되고 있지 않습니다.
Message: Trying to access array offset on value of type null
제 서버는 PHP 7.4로 업그레이드 되었습니다만, 매우 만족하고 있기 때문에, 문제를 수정해, 스크립트를 스스로 관리할 수 있는 방법을 찾고 있습니다.
에러를 나타내는 것은, 다음과 같습니다.
$len = $cOTLdata['char_data'] === null ? 0 : count($cOTLdata['char_data']);
$cOTLdata가 함수에 전달됩니다.
public function trimOTLdata(&$cOTLdata, $Left = true, $Right = true)
{
$len = $cOTLdata['char_data'] === null ? 0 : count($cOTLdata['char_data']);
$nLeft = 0;
$nRight = 0;
//etc
mpdf btw에 포함되어 있지만 github 저장소의 파일을 덮어쓰는 것만으로는 오류를 수정할 수 없습니다.
이 일이 발생하는 이유는$cOTLdata
null이 아니라 인덱스입니다.'char_data'
는 존재하지 않습니다.이전 버전의 PHP는 이러한 오류에 대해 덜 엄격하고 묵묵히 오류/알림을 삼켰지만 7.4는 더 이상 이 작업을 수행하지 않습니다.
인덱스가 존재하는지 여부를 확인하려면 isset()을 사용합니다.
isset($cOTLdata['char_data'])
즉, 선은 다음과 같이 됩니다.
$len = isset($cOTLdata['char_data']) ? count($cOTLdata['char_data']) : 0;
참고로 === null은 본질적으로 이미 하는 일이기 때문에 3원 연산자의 경우와 다른 경우를 전환했다(양수인 경우).
언급URL : https://stackoverflow.com/questions/59336951/message-trying-to-access-array-offset-on-value-of-type-null
반응형
'programing' 카테고리의 다른 글
javascript에서 지연 시간 설정 방법 (0) | 2022.11.03 |
---|---|
커스텀 예외 메시지:베스트 프랙티스 (0) | 2022.11.03 |
mariadb의 기능 인덱스를 작성하려면 어떻게 해야 합니까? (0) | 2022.11.03 |
C: 소켓 접속 타임아웃 (0) | 2022.10.25 |
각 루프의 varStatus에 대한 JSTL을 ID로 사용 (0) | 2022.10.25 |