PHPでは、文字列処理関数は非常に一般的であり、ストリップ、ストップ、ストリストは最も一般的に使用される3つの関数であり、すべてが別の文字列でサブストリングの位置を見つけるために使用されますが、いくつかの詳細が異なります。この記事では、これら3つの機能の違い、使用シナリオ、および特定の機能を詳細に説明します。
strpos :
関数:文字列(サブストリング)が最初に別の文字列に表示される場所を見つけます。
ケースに敏感:はい、 STRPOSはケースに敏感です。
戻り値:サブストリングが最初に表示される場所(0から始まる)を返し、見つからない場合はfalseを返します。
Stripos :
関数: Strposと同様に、両方とも文字列が最初に別の文字列に表示される場所を見つけることです。
症例無感覚: STRPOSとは異なり、 STRPOSは症例感受性です。
戻り値:サブストリングが最初に表示される場所(0から始まる)を返し、見つからない場合はfalseを返します。
strristr :
関数:文字列(サブストリング)が最初に別の文字列に表示され、一致する位置から文字列の端まですべてを返す場所を見つけます。
症例無感覚: Strristは、ケース非感受性もあります。
返品値:一致するサブストリングとその後のコンテンツを返します。見つからない場合は、 falseを返します。
関数 | 症例感度 | 戻り値タイプ | 説明します |
---|---|---|---|
strpos | はい | 一致位置(int) | 最初の試合を見つけて返します |
ストリップ | いいえ | 一致位置(int) | 最初の試合を見つけて返します(ケースは鈍感です) |
ストリスト | いいえ | 一致位置から終了までの文字列 | マッチング位置から文字列の終わりにコンテンツを見つけて返す(ケース非感受性) |
STRPOSは、特にケースを気にする場合は、正確な一致が必要な状況に適しています。たとえば、URLに特定のサブストリングが含まれているかどうかを確認する場合、ケースが正確に一貫していることを確認する必要があります。
サンプルコード:
<?php
$url = "https://www.m66.net/products";
$position = strpos($url, "m66.net");
if ($position !== false) {
echo "URL に含まれています m66.net,位置:{$position}";
} else {
echo "URL で見つかりません m66.net";
}
?>
このコードは、 M66.netが8番目の文字から始まるため、 M66.netを含むURLを返します。
Striposは、特にケースを無視したい場合は、サブストリングを探したい場合は、高度と小文字を気にしない場合に適しています。たとえば、ユーザー入力を処理すると、入力のケースを制御できない場合があるため、 StripOSを使用できます。
サンプルコード:
<?php
$url = "https://www.M66.net/Products";
$position = stripos($url, "m66.net");
if ($position !== false) {
echo "URL に含まれています m66.net,位置:{$position}";
} else {
echo "URL で見つかりません m66.net";
}
?>
このコードは、元の文字列のMが大文字か小文字か小文字であるかどうかに関係なく、M66.net、位置:8を含むURLを返します。
Strristは、特に一致する位置を気にしないが、一致するコンテンツに気をつけている場合、サブストリングを見つけてすべてを後ろに置くのに役立ちます。たとえば、URLを解析したり、文字列を処理する場合、特定のマッチング位置から最後まで開始する部分を傍受する必要がある場合があります。
サンプルコード:
<?php
$url = "https://www.m66.net/products?id=123";
$result = stristr($url, "m66.net");
if ($result !== false) {
echo "一致した文字列:{$result}";
} else {
echo "一致するコンテンツは見つかりませんでした";
}
?>
このコードは、一致する文字列:https://www.m66.net/products?id= 123を返します。
STRPOS :ケースに敏感で、正確な一致を必要とするシナリオに適しています。
Stripos :ケース非感受性、ケースが関係していないシナリオに適しています。
Strristr :ケース非感受性、一致する位置から文字列の終わりまでのコンテンツを傍受する必要があるシナリオに適しています。
適切な関数を選択すると、特定のニーズに依存し、それらの違いを理解することで、より効率的で明確なコードを書くことができます。