110

データベースから値を取得するためにループを使用していますが、結果は次のようになります。

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

そして、私はそれをこのようにしたいと思います:

'name', 'name2', 'name3'

ループの最後の値の後のコンマを削除したい。

4

11 に答える 11

249

rtrim次の関数を使用します。

rtrim($my_string, ',');

2番目のパラメーターは、削除する文字を示します。

于 2013-03-14T12:02:17.933 に答える
28

試す:

$string = "'name', 'name2', 'name3',";
$string = rtrim($string,',');
于 2013-03-14T12:02:11.290 に答える
15

以下のコードを試してください。

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

このコードを使用して、文字列の最後の文字を削除します。

于 2015-03-30T08:59:27.417 に答える
11

関数を使用substrしてこれを削除できます。

$t_string = "'test1', 'test2', 'test3',";
echo substr($t_string, 0, -1);
于 2016-03-22T06:59:29.253 に答える
7

rtrim働き

rtrim($my_string,',');

2番目のパラメーターは、右側からコンマを削除することを示します。

于 2014-02-04T07:55:24.103 に答える
5

使用するrtrim()

rtrim($string,',');
于 2013-03-14T12:02:31.757 に答える
5

そのためには、implodeを使用することをお勧めします。Implodeは簡単で素晴らしいです:

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

出力:

    name1, name2, name3
于 2018-11-30T12:07:39.090 に答える
4

サブストリングの元となるマルチバイトテキストを操作する場合は、スクリプトに影響します。この場合は、php.iniでmb_ *関数を有効にするか、これを行うことを強くお勧めします。ini_set("mbstring.func_overload", 2);

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

于 2017-04-19T09:27:38.937 に答える
3

次のいずれかの方法を使用して、最後のコンマ(、)を削除できます。

解決策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:解決策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;  
于 2019-10-24T05:56:04.583 に答える
2

その単純なもの:

$commaseparated_string = name,name2,name3,;
$result = rtrim($commaseparated_string,',');
于 2017-12-09T11:44:16.813 に答える
0

ループ中に適用するソリューション:

//1 - Using conditional:

$source = array (1,2,3);
$total = count($source);
    
$str = null;
    
for($i=0; $i <= $total; $i++){ 
        
    if($i < $total) {
        $str .= $i.',';
    }
    else {
        $str .= $i;
    }
}
    
echo $str; //0,1,2,3

//2 - Using rtrim:

$source = array (1,2,3);
$total = count($source);

$str = null;

for($i=0; $i <= $total; $i++){ 
    
        $str .= $i.',';
}

$str = substr($str,0,strlen($str)-1);
echo $str; //0,1,2,3
于 2020-09-04T15:24:51.887 に答える