is_numeric()-判断是否为数字
is_numeric()函数是PHP中一个非常有用的函数,它的主要作用是判断一个变量是否为数字。
在一些开发场景中,我们需要对用户输入进行验证,判断输入是否为数字类型,这就需要用到is_numeric()函数。
下面我们来详细介绍is_numeric()函数。
一、is_numeric()函数的使用方法
is_numeric()函数的使用方法非常简单,只需要传入需要判断的变量即可,函数返回一个布尔值,如果变量为数字则返回true,否则返回false。
示例代码:
$var1 = '123';
$var2 = '11.5';
$var3 = 'abc';
var_dump(is_numeric($var1)); // true
var_dump(is_numeric($var2)); // true
var_dump(is_numeric($var3)); // false
从上面的运行结果可以看出,当传入的变量为数字类型时,is_numeric()函数会返回true,否则返回false。
二、is_numeric()函数的使用场景
is_numeric()函数通常用于验证用户输入的数据是否为数字,以及处理一些原始数据。
下面是一些常见的使用场景。
1. 验证用户输入的数据是否为数字
在Web开发中,我们经常需要验证用户输入的数据是否为数字类型。这时,我们可以使用is_numeric()函数将用户输入的数据进行验证。
示例代码:
$num1 = $_POST['num1'];
if (is_numeric($num1)) {
echo $num1 . '是数字';
} else {
echo $num1 . '不是数字';
}
在上面的代码中,我们通过$_POST数组获取用户提交的num1数据,然后通过is_numeric()函数对其进行验证,如果num1为数字,则输出"$num1是数字",否则输出"$num1不是数字"。
2. 处理一些原始数据
在一些开发场景中,我们需要处理一些原始数据,例如从数据库中获取的数据,这时需要用到is_numeric()函数。
示例代码:
$data = array('123', '11.5', 'abc');
$nums = array();
foreach ($data as $num) {
if (is_numeric($num)) {
$nums[] = $num;
}
}
var_dump($nums); // array('123', '11.5')
在上面的示例中,我们定义了一个数组$data,其中包含三个元素,分别是'123'、'11.5'和'abc'。
然后我们使用foreach循环遍历数组$data,对其中的每个元素进行is_numeric()函数的验证,如果元素为数字,则将其添加到数组$nums中。
最后输出$nums的结果为array('123', '11.5')。
三、is_numeric()函数的注意事项
在使用is_numeric()函数时,需要注意以下一些事项。
1. is_numeric()函数判断的是字符串,如果传入的是一个数字类型的变量,则无需使用is_numeric()函数进行判断。
示例代码:
$num1 = 123;
$num2 = '123';
var_dump(is_numeric($num1)); // 不需要判断,输出true
var_dump(is_numeric($num2)); // 输出true
从上面的代码中可以看出,变量$num1本身就是一个数字类型的变量,因此无需使用is_numeric()函数进行判断。
2. is_numeric()函数判断的是十进制数字,对于其他进制的数字,建议使用其他函数进行判断。
示例代码:
$num1 = '0x123'; // 十六进制格式的数字
$num2 = '0123'; // 八进制格式的数字
var_dump(is_numeric($num1)); // false
var_dump(is_numeric($num2)); // true
从上面的代码中可以看出,对于十六进制格式的数字和八进制格式的数字,is_numeric()函数并不能正确判断,因此建议使用其他函数进行判断。
3. 不要将is_numeric()函数用于密码或敏感信息的判断,因为字符串也可以被转换成数字。
示例代码:
$password = '123456';
$code = 'abc123';
var_dump(is_numeric($password)); // true
var_dump(is_numeric($code)); // false
从上面的代码中可以看出,当传入字符串类型的密码时,is_numeric()函数会返回true,因此不要将is_numeric()函数用于密码或敏感信息的判断。
四、总结
is_numeric()函数是PHP中一个非常有用的函数,它可以快速判断一个变量是否为数字。
使用is_numeric()函数时,需要注意以下一些事项:
1. is_numeric()函数判断的是字符串,如果传入的是一个数字类型的变量,则无需使用is_numeric()函数进行判断。
2. is_numeric()函数判断的是十进制数字,对于其他进制的数字,建议使用其他函数进行判断。
3. 不要将is_numeric()函数用于密码或敏感信息的判断,因为字符串也可以被转换成数字。
