現在の位置: ホーム> 最新記事一覧> PHPのSTRPOS機能は何ですか?基本的な使用法と簡単な例が含まれています

PHPのSTRPOS機能は何ですか?基本的な使用法と簡単な例が含まれています

gitbox 2025-06-15

PHPプログラミングでは、 STRPOSは、サブストリングが最初に表示される場所を見つけるために使用される一般的に使用される文字列関数です。この関数は特に便利であり、特定のサブストリングが文字列に存在するかどうかを確認する必要がある場合に、位置をすばやく見つけるのに役立ちます。見つかった場合、 Strposはサブストリングの最初の発生位置を返します(0のインデックスに基づいて)。見つからない場合、

基本的な構文

<span><span><span class="hljs-title function_ invoke__">strpos</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$needle</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$offset</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>): </span><span><span class="hljs-keyword">mixed</span></span><span>
</span></span>

パラメーター説明:

  • $ haystack :検索する文字列。

  • $針:見つかるサブストリング。

  • $ offset$ haystackで検索を開始する場所を示すオプションパラメーター、デフォルトは0(ゼロから検索)です。

返品値:

  • $針が見つかった場合、 $ haystack (積分、0に基づくインデックス)に最初に表示される場所を返します。

  • $針が見つからない場合、 falseが返されます。

例1:基本検索

<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"Hello, welcome to the PHP world!"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"PHP"</span></span><span>;

</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strpos</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$position</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"現れる '<span class="hljs-subst">$needle</span></span></span><span>' 文字列の位置: </span><span><span class="hljs-subst">$position</span></span><span>";
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"'<span class="hljs-subst">$needle</span></span></span><span>' 未在字符串中現れる";
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

出力

 <span><span>現れる </span><span><span class="hljs-string">'PHP'</span></span><span> 文字列の位置: 18
</span></span>

この例では、 Strposは「$ HayStack」の文字列「PHP」の位置を探します。 「PHP」は18番目の文字から始まるため、返された結果は18です。

例2:指定された場所から検索を開始します

<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"Hello, welcome to the PHP world!"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"o"</span></span><span>;

</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strpos</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>);  </span><span><span class="hljs-comment">// から5文字の検索を開始します</span></span><span>

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$position</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"場所から 5 开始現れる 'o' 文字列の位置: <span class="hljs-subst">$position</span></span></span><span>";
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"'o' 未在字符串中現れる"</span></span><span>;
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

出力

 <span><span>場所から </span><span><span class="hljs-number">5</span></span><span> 开始現れる </span><span><span class="hljs-string">'o'</span></span><span> 文字列の位置: </span><span><span class="hljs-number">7</span></span><span>
</span></span>

この例では、 Strposは最初の5文字(つまり「Hello」 )をスキップし、5番目のキャラクターから「O」を探し始めます。結果は、最初の「O」が表示される位置、つまり7番目の文字を返します。

例3:文字列に存在しないサブストリングを見つける

<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"Hello, welcome to the PHP world!"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"Python"</span></span><span>;

</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strpos</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$position</span></span><span> === </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"'<span class="hljs-subst">$needle</span></span></span><span>' 未在字符串中現れる";
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"現れる '<span class="hljs-subst">$needle</span></span></span><span>' 文字列の位置: </span><span><span class="hljs-subst">$position</span></span><span>";
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

出力

 <span><span><span class="hljs-string">'Python'</span></span><span> 未在字符串中現れる
</span></span>

この例では、 「Python」は$ haystackには存在しません。StrposFalseを返し、Operator ===を比較することで正確な判断を保証します。

注意すべきこと

  1. 戻り値の比較STRPOSに特別な注意を払う必要があります。これは0である可能性があります。つまり、サブストリングは文字列の先頭に表示されます。 0はfalseと見なされるため、if ($ position)を使用して直接判断を下すと、判断の結果が誤っている可能性があります。したがって、 !== falseを使用して、返品値がfalseかどうかを確認する必要があります。

  2. ケースに敏感STRPOSはケースに敏感です。ケースに依存しない検索が必要な場合は、 Scripos関数を使用できます。

Striposの例:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"Hello, welcome to the PHP world!"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"php"</span></span><span>;

</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">stripos</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>);  </span><span><span class="hljs-comment">// ケースと感受性の検索</span></span><span>

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$position</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"現れる '<span class="hljs-subst">$needle</span></span></span><span>'(症例は無感覚です)文字列の位置: </span><span><span class="hljs-subst">$position</span></span><span>";
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"'<span class="hljs-subst">$needle</span></span></span><span>' 未在字符串中現れる";
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

出力

 <span><span>現れる </span><span><span class="hljs-string">'php'</span></span><span>(症例は無感覚です)文字列の位置: 18
</span></span>

要約します

STRPOSは、PHPの非常に実用的な弦関数であり、サブストリングの最初の発生を効率的に見つけるのに役立ちます。合理的な使用により、文字列検索の要件を簡単に処理できます。開発では、この関数の基本的な使用法をマスターすると、コードの効率と読みやすさが大幅に向上する可能性があります。