😊

PHPのバグ???

2024/05/28に公開2

rtirm()は、文字列の右端のWhite spaceを削除してくれます。
第二引数に、除きたい文字列を指定すると、その文字列があった場合は削除してくれます。

それではクイズです。以下のPHPのコードは、どのような結果が返るでしょうか?

echo rtrim('args.css', '.css');

↓ 結果
https://paiza.io/projects/TWlUZuXnKdLQsPdmCF7d6g?language=php

これはPHPのバグ???

Discussion

rakiraki

バグじゃないです。
https://www.php.net/manual/ja/function.rtrim.php

例をよく見ると(Hello Worldのとことか)わかると思うけど、第二引数はあくまで文字のリストで、この記事の例でいえば、左端にある[ ".", "c", "s" ] がなくなるまで文字削除が行われているだけです。
".css" を消しにいってるわけではありません。
".cs" や "c.s" でテストしてみても同じ結果になるのです。

PHP初心者勉強会PHP初心者勉強会

コメントありがとうございます!
すっかり勘違いしておりました。
なるほど、第二引数は削除する文字のリストだったんですね。
大変助かりました。記事にして良かったです!