比较字符串 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 个字符的主要内容,如果未能解决你的问题,请参考以下文章