データベースから値を取得するためにループを使用していますが、結果は次のようになります。
'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,',');
部分文字列のマルチバイトテキストを使用する場合、スクリプトに影響します。この場合、php.iniでmb_ *関数を有効にするか、ini_set("mbstring.func_overload", 2);
を有効にすることを強くお勧めします
$string = "'test1', 'test2', 'test3',";
echo mb_substr($string, 0, -1);
最初にスペースrtrim($arraynama,",");
なしで試してみましたが、無効な結果になりました。
次に、スペースを追加して有効な結果を得ました。
$newarraynama=rtrim($arraynama,", ");
その目的には内破を使用することをお勧めします。 Implodeは簡単で素晴らしい:
$array = ['name1', 'name2', 'name3'];
$str = implode(', ', $array);
出力:
name1, name2, name3
次のように簡単です:
$commaseparated_string = name,name2,name3,;
$result = rtrim($commaseparated_string,',');