« なぜか改行コードでexplodeできない時 | メイン | パスワードは。。 »

2007年12月25日

PHPで文字列の接頭辞判定

文字列の接頭辞(prefix)を判定したい時が頻繁にあるのですが、PHPには該当する関数がありません。JavaのStringクラスにはstartsWithというboolean型のメソッドがあるのですが。

こんな感じでしょうか。

class StringUtil{
	/**
	 * 文字列が特定の接頭辞から始まるか
	 * 
	 * @param string $str 文字列
	 * @param string $prefix 接頭辞
	 * @return boolean
	 */
	public static function startsWith($str, $prefix){
		return (strpos($str, $prefix) === 0) ? true : false;
	}
}

if(StringUtil::startsWith($str, $prefix)){
echo 'YES!';
}

PHPは文字列はオブジェクトではないため、動詞と前置詞の配置的にはあまり良くないのかもしれませんが、一番のメリットは、誰かがコードを見て、何をしているのかがすぐに分かるということでしょうか。