当前位置: 首页> 最新文章列表> PHP strcspn 使用实例:查找字符串中第一个不匹配字符的位置

PHP strcspn 使用实例:查找字符串中第一个不匹配字符的位置

gitbox 2025-09-02
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 前置与文章内容无关的PHP代码示例</span></span><span>
</span><span><span class="hljs-variable">$placeholder</span></span><span> = </span><span><span class="hljs-string">"这是一些与文章无关的PHP代码"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$placeholder</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>

&lt;hr&gt;

</span><span><span class="hljs-meta">&lt;?php</span></span><span>
<span class="hljs-comment">/**
 * PHP strcspn 使用实例:查找字符串中第一个不匹配字符的位置
 * 
 * strcspn() 函数用于查找字符串中第一个不包含指定字符集合的字符位置。
 * 语法:
 * int strcspn(string $string, string $characters, int $start = 0, int $length = ?)
 * 
 * 参数说明:
 * - $string:要搜索的字符串。
 * - $characters:包含要匹配的字符的字符串。
 * - $start:可选参数,开始搜索的位置。
 * - $length:可选参数,限制搜索的长度。
 * 
 * 返回值:
 * 返回字符串中第一个不包含指定字符的位置(索引从0开始)。
 */</span>

</span><span><span class="hljs-comment">// 示例 1:简单查找</span></span><span>
</span><span><span class="hljs-variable">$text</span></span><span> = </span><span><span class="hljs-string">"hello world"</span></span><span>;
</span><span><span class="hljs-variable">$chars</span></span><span> = </span><span><span class="hljs-string">"aeiou"</span></span><span>; </span><span><span class="hljs-comment">// 要查找的元音字符集合</span></span><span>
</span><span><span class="hljs-variable">$position</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-variable">$text</span></span><span>, </span><span><span class="hljs-variable">$chars</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"示例 1:字符串 '<span class="hljs-subst">{$text}</span></span></span><span>' 中第一个不匹配 '</span><span><span class="hljs-subst">{$chars}</span></span><span>' 的字符位置是: </span><span><span class="hljs-subst">{$position}</span></span><span>&lt;br&gt;";

</span><span><span class="hljs-comment">// 示例 2:从指定位置开始查找</span></span><span>
</span><span><span class="hljs-variable">$text2</span></span><span> = </span><span><span class="hljs-string">"abcdefg123"</span></span><span>;
</span><span><span class="hljs-variable">$chars2</span></span><span> = </span><span><span class="hljs-string">"1234567890"</span></span><span>; </span><span><span class="hljs-comment">// 数字字符集合</span></span><span>
</span><span><span class="hljs-variable">$position2</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-variable">$text2</span></span><span>, </span><span><span class="hljs-variable">$chars2</span></span><span>, </span><span><span class="hljs-number">3</span></span><span>); </span><span><span class="hljs-comment">// 从索引3开始查找</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"示例 2:字符串 '<span class="hljs-subst">{$text2}</span></span></span><span>' 从位置3开始,第一个不匹配数字的位置是: </span><span><span class="hljs-subst">{$position2}</span></span><span>&lt;br&gt;";

</span><span><span class="hljs-comment">// 示例 3:结合长度限制</span></span><span>
</span><span><span class="hljs-variable">$text3</span></span><span> = </span><span><span class="hljs-string">"php is fun!"</span></span><span>;
</span><span><span class="hljs-variable">$chars3</span></span><span> = </span><span><span class="hljs-string">"pih"</span></span><span>; </span><span><span class="hljs-comment">// 字符集合</span></span><span>
</span><span><span class="hljs-variable">$position3</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strcspn</span></span><span>(</span><span><span class="hljs-variable">$text3</span></span><span>, </span><span><span class="hljs-variable">$chars3</span></span><span>, </span><span><span class="hljs-number">0</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">echo</span></span><span> </span><span><span class="hljs-string">"示例 3:字符串 '<span class="hljs-subst">{$text3}</span></span></span><span>' 前5个字符中,第一个不匹配 '</span><span><span class="hljs-subst">{$chars3}</span></span><span>' 的字符位置是: </span><span><span class="hljs-subst">{$position3}</span></span><span>&lt;br&gt;";

</span><span><span class="hljs-comment">// 总结</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"&lt;br&gt;总结:&lt;br&gt;"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"strcspn() 是一个非常有用的函数,可以快速定位字符串中第一个不包含指定字符集合的位置。"</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>

</span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 尾部与文章内容无关的PHP代码示例</span></span><span>
</span><span><span class="hljs-variable">$footer</span></span><span> = </span><span><span class="hljs-string">"文章尾部无关代码演示结束"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"&lt;hr&gt;"</span></span><span>.</span><span><span class="hljs-variable">$footer</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>