在PHP中,bindec()
函数可用于将二进制数转换为十进制数,但没有错误检查来测试二进制数字符串是否有效。会发生什么,像bindec('1051');
之类的东西会返回5而不是错误。
是否有一种有效的方法来验证该数字是否为二进制字符串?
答案 0 :(得分:5)
if (preg_match('~^[01]+$~', $num)) {
// valid binary number
}
答案 1 :(得分:2)
这应该做:
if(preg_match("/^[0-1]+$/", $var)) {
// do something
}