ホームページ  >  記事  >  バックエンド開発  >  PHP8 の新関数: str_starts_with() の新しいトリック

PHP8 の新関数: str_starts_with() の新しいトリック

PHPz
PHPzオリジナル
2023-05-16 08:27:361233ブラウズ

PHP 8 では、str_starts_with() 関数を含む新しい文字列関数のセットが追加されました。この関数は、文字列が別の文字列で始まるかどうかを判断するために使用できます。次に、この新しい関数を使用して開発作業をより効率的かつ便利にする方法についていくつかの新しいテクニックを検討します。

まず、str_starts_with() 関数の基本的な使用法を理解しましょう。この関数は 2 つのパラメータを受け入れます。1 つ目は判定対象の文字列で、2 つ目は開始部分としての文字列です。最初の文字列が 2 番目の文字列で始まる場合は true を返し、それ以外の場合は false を返します。例:

$string = "hello world";
$startsWithHello = str_starts_with($string, "hello");
$startsWithBye = str_starts_with($string, "bye");

var_dump($startsWithHello); // true
var_dump($startsWithBye); // false

次に、str_starts_with() 関数のいくつかの新しいテクニックを検討してみましょう。

  1. str_starts_with() 関数を使用して自然な並べ替えを最適化する

自然な並べ替えに関しては、通常は次のコードを使用する必要があります:

function naturalSort($a, $b) {
    return strnatcmp($a, $b);
}
usort($array, 'naturalSort');

ただし自然にソートされた配列内の一部の要素は特定の文字列 (「~」など) で始まるため、特別な処理を実行する必要がある場合があります。このとき、次のように str_starts_with() 関数を使用して最適化できます。

function naturalSort($a, $b) {
    if (str_starts_with($a, '~') && !str_starts_with($b, '~')) {
        return 1;
    } elseif (!str_starts_with($a, '~') && str_starts_with($b, '~')) {
        return -1;
    } else {
        return strnatcmp($a, $b);
    }
}
usort($array, 'naturalSort');

これにより、ソート中の strnatcmp() 関数の呼び出し数が減り、効率が向上します。

  1. 開始文字に基づいて文字列配列をフィルターする

場合によっては、文字列配列から特定の文字で始まる文字列をフィルターで除外して、後続の処理を実行する必要があります。これらの文字列。この関数は、str_starts_with() 関数を使用して簡単に実装できます。例:

$array = ["apple", "banana", "orange", "pear"];
$filteredArray = array_filter($array, function($item) {
    return str_starts_with($item, "a");
});

var_dump($filteredArray); // ["apple"]

上記のコードでは、array_filter() 関数と無名関数を使用して配列をフィルターし、str_starts_with() 関数を使用して各要素が文字「a」で始まるかどうかを判断します。 。最終結果は、文字「a」で始まる文字列のみを含む新しい配列になります。

  1. 文字列置換で str_starts_with() 関数を使用する

一部の文字列置換シナリオでは、特定の文字または文字列部分で始まる文字列のみを置換する必要があります。 str_starts_with() 関数を使用すると、この機能を実現し、置換操作をより簡潔かつ効率的に行うことができます。例:

$string = "hello world";
$newString = str_starts_with($string, "hello") ? "goodbye" . substr($string, 5) : $string;

echo $newString; // "goodbye world"

上記のコードでは、str_starts_with() 関数を使用して文字列が「hello」で始まるかどうかを確認し、文字列が「hello」で始まる場合は、substr() 関数を使用して、文字列を削除した後の部分を取得します。最初の文字の先頭に「goodbye」を追加します。それ以外の場合は、元の文字列が直接使用されます。

概要

str_starts_with() 関数は PHP 8 の新しい関数で、文字列の先頭をより便利かつ効率的に処理するのに役立ちます。この記事では、自然な順序の最適化、開始文字に基づいた文字列配列のフィルタリング、文字列置換での使用など、str_starts_with() 関数の新しいトリックをいくつか示します。これらのテクニックは、日々の開発における文字列処理のニーズにうまく対処し、作業効率を向上させるのに役立ちます。

以上がPHP8 の新関数: str_starts_with() の新しいトリックの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。