データベースから値を取得するためにループを使用していますが、結果は次のようになります。
'name', 'name2', 'name3',
そして、私はそれをこのようにしたいと思います:
'name', 'name2', 'name3'
ループの最後の値の後のコンマを削除したい。
試す:
$string = "'name', 'name2', 'name3',";
$string = rtrim($string,',');
以下のコードを試してください。
$my_string = "'name', 'name2', 'name3',";
echo substr(trim($my_string), 0, -1);
このコードを使用して、文字列の最後の文字を削除します。
関数を使用substr
してこれを削除できます。
$t_string = "'test1', 'test2', 'test3',";
echo substr($t_string, 0, -1);
rtrim
働き
rtrim($my_string,',');
2番目のパラメーターは、右側からコンマを削除することを示します。
使用するrtrim()
rtrim($string,',');
そのためには、implodeを使用することをお勧めします。Implodeは簡単で素晴らしいです:
$array = ['name1', 'name2', 'name3'];
$str = implode(', ', $array);
出力:
name1, name2, name3
サブストリングの元となるマルチバイトテキストを操作する場合は、スクリプトに影響します。この場合は、php.iniでmb_ *関数を有効にするか、これを行うことを強くお勧めします。ini_set("mbstring.func_overload", 2);
$string = "'test1', 'test2', 'test3',";
echo mb_substr($string, 0, -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:解決策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;
その単純なもの:
$commaseparated_string = name,name2,name3,;
$result = rtrim($commaseparated_string,',');
ループ中に適用するソリューション:
//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