😊PHPのバグ???2024/05/28に公開2件PHPtechrtirm()は、文字列の右端のWhite spaceを削除してくれます。 第二引数に、除きたい文字列を指定すると、その文字列があった場合は削除してくれます。 それではクイズです。以下のPHPのコードは、どのような結果が返るでしょうか? echo rtrim('args.css', '.css'); ↓ 結果 https://paiza.io/projects/TWlUZuXnKdLQsPdmCF7d6g?language=php これはPHPのバグ??? Discussionraki6ヶ月前に更新バグじゃないです。 https://www.php.net/manual/ja/function.rtrim.php 例をよく見ると(Hello Worldのとことか)わかると思うけど、第二引数はあくまで文字のリストで、この記事の例でいえば、左端にある[ ".", "c", "s" ] がなくなるまで文字削除が行われているだけです。 ".css" を消しにいってるわけではありません。 ".cs" や "c.s" でテストしてみても同じ結果になるのです。 PHP初心者勉強会6ヶ月前コメントありがとうございます! すっかり勘違いしておりました。 なるほど、第二引数は削除する文字のリストだったんですね。 大変助かりました。記事にして良かったです! 返信を追加
raki6ヶ月前に更新バグじゃないです。 https://www.php.net/manual/ja/function.rtrim.php 例をよく見ると(Hello Worldのとことか)わかると思うけど、第二引数はあくまで文字のリストで、この記事の例でいえば、左端にある[ ".", "c", "s" ] がなくなるまで文字削除が行われているだけです。 ".css" を消しにいってるわけではありません。 ".cs" や "c.s" でテストしてみても同じ結果になるのです。 PHP初心者勉強会6ヶ月前コメントありがとうございます! すっかり勘違いしておりました。 なるほど、第二引数は削除する文字のリストだったんですね。 大変助かりました。記事にして良かったです! 返信を追加
Discussion
バグじゃないです。
例をよく見ると(Hello Worldのとことか)わかると思うけど、第二引数はあくまで文字のリストで、この記事の例でいえば、左端にある[ ".", "c", "s" ] がなくなるまで文字削除が行われているだけです。
".css" を消しにいってるわけではありません。
".cs" や "c.s" でテストしてみても同じ結果になるのです。
コメントありがとうございます!
すっかり勘違いしておりました。
なるほど、第二引数は削除する文字のリストだったんですね。
大変助かりました。記事にして良かったです!