1. ホーム
  2. php

[解決済み] PHPのstartWith()関数とendsWith()関数

2022-03-16 20:56:38

質問

文字列を受け取って、それが指定された文字/文字列で始まるか終わるかを返す2つの関数を書くにはどうしたらよいでしょうか。

例えば

$str = '|apples}';

echo startsWith($str, '|'); //Returns true
echo endsWith($str, '}'); //Returns true

解決方法は?

PHP 8.0以上

PHP 8.0以降では

str_starts_with マニュアル そして

str_ends_with マニュアル

使用例

echo str_starts_with($str, '|');

8.0以前のPHP

function startsWith( $haystack, $needle ) {
     $length = strlen( $needle );
     return substr( $haystack, 0, $length ) === $needle;
}

function endsWith( $haystack, $needle ) {
    $length = strlen( $needle );
    if( !$length ) {
        return true;
    }
    return substr( $haystack, -$length ) === $needle;
}