我正在尝试将数组中的数字与一系列数字匹配,我被告知要使用preg_match。不幸的是我不擅长正则表达式。有什么建议?
<?php
$range = range(89000000,89499999);
foreach($range as $number)
{
if (preg_match("/89304043/", $number))
{
die( "Valid carrier Number" );
}
else
{
die( "Invalid carrier Number" );
}
}
?>
答案 0 :(得分:0)
答案 1 :(得分:0)
$number=(int)$number;
$valid=($number>=89000000 && $number<=89499999);
$valid
现在无论是真还是假。我对数字进行了类型化以确保它是一个整数(并且我假设其中没有非数字字符。
答案 2 :(得分:0)
function myrange() {
if($number > 89000000 && $number < 89499999) {
echo 'Number is between range';
}
}
答案 3 :(得分:0)
你的foreach只执行一次,它将死于89000000 ...死亡应该在foreach循环之后。
<?php
$range = range(89000000,89499999);
foreach($range as $number)
{
if (preg_match("/89304043/", $number))
{
die( "Valid carrier Number" );
}
}
// If we're here - the number is invalid, as we've not "died" yet
die( "Invalid carrier Number" );
?>
虽然手头的问题很奇怪...但是,嘿,可能真正的问题是其他的......