바

implode 함수 때문에 반나절 삽질했습니다.

· 2026-05-22 (금) 09:48:50 · 192 · 4
사이트 이전하고 멀쩡하던 페이지가 계속 에러가 나서 보니.

$wr_8 = implode("|", $array);

이전에는 위와 같이 할 경우, $array 가  값이 없어도 그냥 공백을 반환했는데.
php 8 이후로는 배열 값이 없으면 에러를 내네요. ㅜㅜㅜ

그동안 소스에 쓴거 다 고쳐야 할거 같네요. ㅜㅜㅜ

$wr_8= ( $array ) ? implode("|", $array) : '';  
와 같이.

 
총 2명이 반응했습니다
|

댓글 4개

php 버전 몇인가요
 
5.6 쓰다가 8.0 으로 이전하니 그러네요. 8 버전 부터 그렇다고 하네요.
=======================
2. 지원하는 매개변수 타입 (PHP 8.0 ~)
  • PHP 7.x 이전: 매개변수로 배열 대신 일반 문자열이 오거나, 빈 값이 들어올 경우 내부적으로 유연하게 타입 변환을 처리했습니다.
  • PHP 8.0: 타입 안정성이 강화되어, 배열이 아닌 다른 타입의 인자가 전달되면 엄격한 타입 에러(TypeError)를 발생시킵니다. [1]

지금 보니.
$wr_8= ( is_array($array)  ) ? implode("|", $array) : '';  
와 같이 해야 더 정확하겠군요.
파이팅
 

네 php 에 rector 라는 버전 마이그레이션 도구가 있는데 그거쓰세요

사용법은 ai 한테 물어보시고요 뚝딱.

 

rector 나온지 8년인가 넘었고 다양한 프레임워크에서도 써서 안정성은 확보되었어요.

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

자유게시판

203,144건
+
제목 글쓴이 날짜 조회
05-23 조회 148
05-23 조회 243
05-23 조회 185
05-22 조회 606
05-22 조회 436
05-22 조회 176
05-22 조회 295
05-22 조회 302
05-22 조회 212
05-22 조회 214
05-22 조회 142
05-22 조회 224
05-22 조회 268
05-22 조회 285
05-22 조회 168
05-22 조회 193
05-22 조회 236
05-22 조회 150
05-22 조회 155
05-22 조회 209