PHP에서 foreach 루프를 사용해 여러 값을 이어붙일 때, 각 항목 뒤에 쉼표를 직접 추가하면 마지막 항목 뒤에도 불필요한 쉼표가 남게 됩니다. 이러한 문제를 가장 깔끔하게 해결하는 방법은 루프 안에서 쉼표를 붙이는 대신, implode() 함수를 활용하는 것입니다. 아래 예제 코드를 통해 확인해 보세요.
예제
$result_str = array("Hi", "Hello", "have a", "good day");
foreach ($results as $result) {
$result_str[] = $result->name;
}
echo implode(",", $result_str);동작 원리
위 코드에서는 foreach 루프를 통해 각 객체의 name 값을 배열에 차례대로 저장한 뒤, 최종적으로 implode() 함수를 호출합니다. implode()는 배열의 모든 요소를 지정된 구분자(여기서는 쉼표)로 연결한 하나의 문자열을 반환하므로, 마지막 요소 뒤에 쉼표가 붙지 않습니다. 이 방식은 조건문으로 마지막 항목을 일일이 검사하는 것보다 훨씬 간결하고 오류 가능성도 적습니다.
출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Hi,Hello,have a,good day
이처럼 implode() 함수를 사용하면 foreach 루프의 출력 결과에서 마지막 쉼표를 손쉽게 제거할 수 있습니다.