문자열 끝에서 쉼표를 제거하고 싶습니다. 지금 그대로 사용하고 있습니다
$string = substr($string,0,-1);
그러나 그것은 문자열의 마지막 문자 만 제거합니다. 문자열을 동적으로 추가하고 있으므로 문자열 끝에 쉼표가없는 경우도 있습니다. 문자열 끝에 쉼표가 있으면 PHP가 문자열 끝에서 쉼표를 제거하도록하려면 어떻게해야합니까?
답변
$string = rtrim($string, ',');
답변
이것은 두 가지 해결책이있는 고전적인 질문입니다. 정확히 하나의 쉼표를 제거하려면 다음을 사용하십시오.
if (substr($string, -1, 1) == ',')
{
$string = substr($string, 0, -1);
}
줄 끝에서 모든 쉼표를 제거하려면 더 간단한 방법을 사용하십시오.
$string = rtrim($string, ',');
rtrim 함수 (및 왼쪽 트림에 해당하는 ltrim)는 제거 할 문자 범위를 지정할 수 있으므로 매우 유용합니다. 즉, 쉼표와 후행 공백을 제거하려면 다음과 같이 작성합니다.
$string = rtrim($string, ", \t\n");
답변
나는 당신이 루프에서 무언가를 연결하고 있다고 생각합니다.
foreach($a as $b)
$string .= $b . ',';
항목을 배열로 수집 한 다음 필요한 구분 기호와 결합하는 것이 훨씬 좋습니다.
foreach($a as $b)
$result[] = $b;
$result = implode(',', $result);
이것은 일반적으로 연결에서 발생하는 후행 및 이중 구분 기호 문제를 해결합니다.
답변
루프에서 무언가를 연결하는 경우 다음과 같이 할 수도 있습니다.
$coma = "";
foreach($a as $b){
$string .= $coma.$b;
$coma = ",";
}
답변
rtrim 기능 살펴보기
rtrim ($string , ",");
위의 줄은 마지막 문자가 쉼표 인 경우 문자를 제거합니다.
답변
if(substr($str, -1, 1) == ',') {
$str = substr($str, 0, -1);
}
답변
간단한 정규 표현식이 작동합니다.
$string = preg_replace("/,$/", "", $string)
