比较字符串 PHP 的前 4 个字符

Posted

技术标签:

【中文标题】比较字符串 PHP 的前 4 个字符【英文标题】:Compare first 4 characters of a string PHP 【发布时间】:2021-01-04 18:04:50 【问题描述】:

问题出在这一行:

if $var LIKE '1800%';

我不知道如何解决它。谢谢。

<?php 
//check to see if account number is like 1800*
if (isset($_POST['acct_number'])) 
$var = $_POST['acct_number'];
    if $var LIKE '1800%'; 
        //stop the code
        exit;
     else 
        echo 'normal account number';
    

?>

【问题讨论】:

看起来您正在尝试混合使用 mysql 和 PHP。 这能回答你的问题吗? How to check if a string starts with a specified string? 这能回答你的问题吗? startsWith() and endsWith() functions in PHP 【参考方案1】:

您需要 PHP 而不是 MySQL。对于1800%,只需检查它是否位于0 位置:

if(strpos($var, '1800') === 0) 
    //stop the code
    exit;
 else 
    echo 'normal account number';

如果它可以像%1800% 这样的任何地方发生,那么:

if(strpos($var, '1800') !== false) 
    //stop the code
    exit;
 else 
    echo 'normal account number';

【讨论】:

这很完美!谢谢! if(strpos($var, '1800') === 0) 【参考方案2】:

使用substr函数获取前4个字符并与1800比较。

if(substr($var, 0, 4) == '1800')

 // your code goes here.

``

【讨论】:

【参考方案3】:

另一种方法是使用strpos()

if (strpos($var, '1800') === 0) 
   // var starts with '1800'

【讨论】:

是的……完美!谢谢。 @Blondie 将任何适合您的答案标记为已接受。【参考方案4】:

我会为此 preg_match('/^1800.+/', $search, $matches); 使用正则表达式

【讨论】:

可能想用?而不是 + 只是 incase 它是一个 4 char 字符串“1800”。

以上是关于比较字符串 PHP 的前 4 个字符的主要内容,如果未能解决你的问题,请参考以下文章

Excel VBA将一列的字符串与第二列的字符串进行比较

PHP - 如何检查一行中字符串的前 4 个值是不是为数字

字符数组函数

用 PHP Levenshtein 比较 5000 个字符串

php获取字符串前四位并比对

c++编程中怎样用strncmp函数计算两个字符串的数目,并比较大小。