有人可以给我一个简短的解释:
function id_zero($id)
{
if (preg_match("/^[0-9]+$/", $id) && $id > 0) return $id;
return 0;
}
主要是这部分:"/^[0-9]+$/"
它在 0 和 9 之间寻找一个数字,我真的不确定其他角色在做什么......
提前致谢。
有人可以给我一个简短的解释:
function id_zero($id)
{
if (preg_match("/^[0-9]+$/", $id) && $id > 0) return $id;
return 0;
}
主要是这部分:"/^[0-9]+$/"
它在 0 和 9 之间寻找一个数字,我真的不确定其他角色在做什么......
提前致谢。
见:http ://rick.measham.id.au/paste/explain.pl?regex=%2F%5E%5B0-9%5D%2B%24%2F
这也将帮助您使用其他正则表达式。
该函数希望确保传递的 $id 只是数字,大于 0。否则返回 0。
^
表示行的开始(或$id
在这种情况下)
[0-9]+
表示任意位数
$
表示行尾(或$id
在这种情况下再次)
/
仅用于指定它是正则表达式。
顺便说一句,您可以通过以下方式替换此功能:
function id_zero($id) {
$a = intval($id);
return ((string)$a==$id)? $a : 0;
}
匹配从变量 $id 开始的 0-9 之间的一串数字(一个或多个),如果大于 0,则返回数字,否则返回 0。“克拉”表示变量的开头,还是从头开始。美元符号正在逃避它。