PHP를 사용하여 문자열에서 마지막 쉼표를 어떻게 제거합니까?


96

루프를 사용하여 데이터베이스에서 값을 가져오고 결과는 다음과 같습니다.

'name', 'name2', 'name3',

그리고 나는 이것을 다음과 같이 원합니다.

'name', 'name2', 'name3'

루프의 마지막 값 뒤에있는 쉼표를 제거하고 싶습니다.


11
당신은해야 implode원래의 쉼표, 끝없는 그들에 루프 제거 물건 값.
moonwave99 2013 년

답변:


217

rtrim기능 사용 :

rtrim($my_string, ',');

두 번째 매개 변수는 삭제할 문자를 나타냅니다.


26
또한 쉼표 뒤에 공백이 없는지 확인하십시오. 그렇지 않으면 실패하거나 rtrim (trim ($ my_string), ',')을 수행하십시오.
Foxhoundn 2015 년

훌륭한 대답입니다!
DiChrist

@Foxhoundn 귀하의 의견은 구세주입니다. 감사합니다 형제
Jaydeep Goswami

1
이것은 모든 쉼표를 제거하기 때문에 끝에 쉼표를 추가하는 루프에서는 작동하지 않습니다.
LizardKG

25

시험:

$string = "'name', 'name2', 'name3',";
$string = rtrim($string,',');

1
'name''name2''name3'이 아닌 내가 무엇을 필요 : 나는 이미 그것을 시도하지만,이 같은 그 보여주는이
조조

예제에 따라이 함수는 각 값이 아닌 최종 결과에만 적용해야합니다.
Boaz 2013 년

루프를 사용하고 있는데 루프의 최종 결과를 어떻게 알 수 있습니까?
조조

루프의 최종 결과는 변수에 저장됩니다. 따라서 rtrim해당 변수에 호출을 적용하십시오 . 여전히 문제가있는 경우 루프를 생성하는 코드로 질문을 업데이트하십시오.
Boaz 2013 년

특히 PHP 내장 함수의 문제 중 하나는 일부가 무효이고 일부는 반환 유형이 있다는 것입니다. 이 경우에, 저는 rtrim($string, ',')글을 써야 할 때 그냥 쓰려고 했습니다$string = rtrim($string, ',');
Alec

14

아래 코드를 시도하십시오.

$my_string = "'name', 'name2', 'name3',";
echo substr(trim($my_string), 0, -1);

이 코드를 사용하여 문자열의 마지막 문자를 제거하십시오.


10

substr이것을 제거하기 위해 function을 사용할 수 있습니다 .

$t_string = "'test1', 'test2', 'test3',";
echo substr($t_string, 0, -1);



4

하위 문자열을 사용하는 다중 바이트 텍스트로 작업하는 경우 스크립트에 영향을 미칩니다. 이 경우 php.ini에서 mb_ * 기능을 활성화하거나 이렇게하는 것이 좋습니다.ini_set("mbstring.func_overload", 2);

$string = "'test1', 'test2', 'test3',";
echo mb_substr($string, 0, -1);


2

다음과 같이 간단합니다.

$commaseparated_string = name,name2,name3,;
$result = rtrim($commaseparated_string,',');

2

그 목적을 위해 implode를 사용하는 것이 좋습니다. Implode는 쉽고 굉장합니다 :

    $array = ['name1', 'name2', 'name3'];
    $str = implode(', ', $array);

산출:

    name1, name2, name3

데이터베이스 읽기 값에서 먼저 배열을 생성하는 것은 불필요합니다. rtrim & substr은 유효하고 좋은 솔루션입니다.
Steve Horvath 19

음, 맞아요하지만 배열이있는 경우이 편리한 솔루션입니다
khandaniel

1

다음 기술 중 하나를 사용하여 마지막 쉼표 (,)를 제거 할 수 있습니다.

솔루션 1 :

$string = "'name', 'name2', 'name3',";  // this is the full string or text.
$string = chop($string,",");            // remove the last character (,) and store the updated value in $string variable.
echo $string;                           // to print update string.

해결책 2 :

$string = '10,20,30,';              // this is the full string or text.
$string = rtrim($string,',');
echo $string;                       // to print update string.

해결책 3 :

 $string = "'name', 'name2', 'name3',";  // this is the full string or text.
 $string = substr($string , 0, -1);
 echo $string;  
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.