如果我有一个像 $text = '26061235+1234567,A1227011';
这样的字符串行,
我想输出一个小于 8 个字符或包含非数字字符的字符串。
我的预期输出应该是 1234567
和 A1227011
。
1234567
因为它有 7 个字符长。
A1227011
因为它包含 A
。
这是我写的代码。
$text = '26061235+1234567,A1227011';
$splitted = preg_split('/[(or),\+]/', $text);
$splitted = array_filter($splitted); // remove any empty string
foreach($splitted as $str)
{
if(!is_numeric($str) || strlen($str)<=8)
{
$error=preg_replace('/\d+/','',$str);
echo "this $error is not fine";
}
}
但是我没有输出结果
最佳答案
if(!is_numeric($str) || strlen($str)<=8)
{
$error=preg_replace('/\d+/','',$de);
echo "this $error is not fine";
}
为什么这里需要 preg_replace('/\d+/','',$de);
?为什么不只是:
if(!is_numeric($str) || strlen($str)<=8)
{
echo $str;
}
关于php - 我如何在字符串行中输出我的相关错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47918962/