龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php 将输入转换为32位无符号整数,若溢出,则只保留低32位

时间:2014-10-04 15:11来源:网络整理 作者:网络 点击:
分享到:
将输入转换为32位无符号整数,若溢出,则只保留低32位 将输入转换为32位无符号整数,若溢出,则只保留低32位。常用于MySql中的int unsigned字段。[代码片段(20行)]

将输入转换为32位无符号整数,若溢出,则只保留低32位。

常用于MySql中的int unsigned字段。

function uint32val($var) {
    if (is_string($var)) {
        if (PHP_INT_MAX > 2147483647) {
            $var = intval($var);
        } else {
            $var = floatval($var);
        }
    }
    if (!is_int($var)) {
        $var = intval($var);
    }
    if ((0 > $var) || ($var > 4294967295)) {
        $var &= 4294967295;
        if (0 > $var) {
            $var = sprintf('%u', $var);
        }
    }
    return $var;
}
//该片段来自于http://outofmemory.cn
精彩图集

赞助商链接