如何检查一个字符串是不是以另一个字符串开头 - PHP

Posted

技术标签:

【中文标题】如何检查一个字符串是不是以另一个字符串开头 - PHP【英文标题】:How to check if a string starts with another string - PHP如何检查一个字符串是否以另一个字符串开头 - PHP 【发布时间】:2017-11-27 01:40:17 【问题描述】:

我想测试 String1 是否以 string2 开头 php

我发现了这个问题: How to check if a string starts with a specified string

但我想在 if 条件内执行此操作 - 而不是在函数中。 我是这样做的,但我不确定:

if(startsWith($type_price,"repair")) 

do something

 

如果是错误的,请纠正我吗?

【问题讨论】:

您可以在if 语句中执行您喜欢的任何操作。因此,您也可以在if 条件中使用substr(),就像在链接示例中一样。 PHP 8.0 为这项工作引入了新方法 str_starts_with: ***.com/a/64160081/7082164 【参考方案1】:

从 PHP 8.0 开始,实现了 str_starts_with 方法:

if (str_starts_with($type_price, "repair")) 
    //do something
 

【讨论】:

【参考方案2】:

使用strpos功能可以实现。

if (strpos($yourString, "repair") === 0) 
    //Starts with it


使用substr 也可以:

if (substr($yourstring, 0, strlen($startString)) === $startString) 
    //It starts with desired string

对于多字节字符串,考虑使用带有mb_前缀的函数,如mb_substrmb_strlen

【讨论】:

【参考方案3】:
if (substr($string,0,strlen($stringToSearchFor)) == $stringToSearchFor) 
     // the string starts with the string you're looking for
 else 
     // the string does NOT start with the string you're looking for

【讨论】:

以上是关于如何检查一个字符串是不是以另一个字符串开头 - PHP的主要内容,如果未能解决你的问题,请参考以下文章

PHP 检查字符串是否以另一个字符串开头

LINQ to SQL查找以另一个表中的字符开头的值

如何在以特定单词开头并以另一个单词结尾的字符串中出现多次[重复]

如果行以另一个字符串开头,则替换文件中的字符串

如何检查单词是不是以给定字符开头?

如何检查字符串是不是以回文开头?