PHP中把有符号整型转换为无符号整型方法

在一个短地址项目中,根据六位字符与ID的相互映射的算法,当ID超过2147483647的时候,六位字符的短地址映射的ID变成有符号的整型。

代码如下:

ID        >     六位字符    >映射ID

ID: 2147483644 > TfffVQ > 2147483644
ID: 2147483645 > efffVQ > 2147483645
ID: 2147483646 > NfffVQ > 2147483646
ID: 2147483647 > ffffVQ > 2147483647
ID: 2147483648 > nnnnnu > -2147483648
ID: 2147483649 > dnnnnu > -2147483647
ID: 2147483650 > rnnnnu > -2147483646

需要把有符号整型转换为无符号整型:(float) sprintf('%u', $id)

PHP官网关于整型的资料:http://php.net/manual/zh/language.types.integer.php

(0)

相关推荐

  • PHP不使用内置函数实现字符串转整型的方法示例

    介绍 php字符串类型的数字如果想转成整型的数字,一般我们都是采用系统内置的API去做转换,但如果规定就不让我们去用系统内置的API转换,而是让自己去实现一个函数转换该怎么办?这里我们看下如何去实现. 系统内置 API 方式 $num = '345432123'; //(一) $num = (int)$num; //输出: //int(345432123) //(二) $num = intval($num); //输出: //int(345432123) 采用 ASCII 码方式 下面我们利用

  • PHP中IP地址与整型数字互相转换详解

    IP转换成整型存储是数据库优化一大趋势,不少人目前存储IP时还在使用字符串类型存储,字符串索引比整型索引消耗资源很多,特别是表中数据量大的时候,以及求查询某一个ip段的数据,今天说的ip是指ip4,ip6不在本文范围内. 系统函数ip2long与long2ip PHP中有内置函数ip2long可以将ip地址转换整型. 复制代码 代码如下: $ip = '210.110.11.49'; echo ip2long($ip); 输出: 复制代码 代码如下: -764540111 输出的整型有负号是因为

  • PHP日期处理函数 整型日期格式

    当我过去用ASP时解决这个问题相当简单,ASP有相应的函数DateDiff可以给出两个日期间间隔多少月.多少天和多少秒.当我搜寻完PHP手册后我发现PHP并没有类似的函数. 本文包含以下内容: 1. 得到目前的日期和时间-我们有多少种方式? 2. 改变日期显示的方式-日期和时间的显示形式 3. 转换现在的日期为Unix的时间戳值 4. 改变日期 a. 增加时间 b. 减去时间 c. 找出两日期之间的间隔 5. 为PHP添加DateAdd函数 6. 为PHP添加DateDiff函数 **得到目前的

  • PHP中把有符号整型转换为无符号整型方法

    在一个短地址项目中,根据六位字符与ID的相互映射的算法,当ID超过2147483647的时候,六位字符的短地址映射的ID变成有符号的整型. 复制代码 代码如下: ID        >     六位字符    >映射ID ID: 2147483644 > TfffVQ > 2147483644 ID: 2147483645 > efffVQ > 2147483645 ID: 2147483646 > NfffVQ > 2147483646 ID: 21474

  • Shell脚本中实现把输入的密码转换为*(星号)的方法

    如果你需要写一段与用户交互,且需要输入一些敏感信息的(例如:用户密码.License等),那么直接用printf+read的方式,就会把用户输入的信息显示在屏幕了,这是不符合信息安全的,而且对客户体验来说也显得不够专业,所以就需要将用户输入的密码转换为*,样式如下: please input your passwd:1234 修改为: please input your passwd:**** 那么具体如何实现呢,请往下看-- #!/bin/sh getchar() { stty cbreak

  • Java编程中的检查型异常与非检查型异常分析

    对于因为编程错误而导致的异常,或者是不能期望程序捕获的异常(解除引用一个空指针,数组越界,除零,等等),为了使开发人员免于处理这些异常,一些异常被命名为非检查型异常(即那些继承自 RuntimeException 的异常)并且不需要进行声明. Checked Exception和Unchecked Exception的几点不同之处         方法签名是否需要声明exception,调用该方法时是否需要捕获exception,exception产生的时候JVM控制程序的状态. Sun 的"T

  • python中24小时制转换为12小时制的方法

    12-24小时制 编写一个程序,要求用户输入24小时制的时间,然后显示12小时制的时间. 输入格式: 输入在一行中给出带有中间的:符号(半角的冒号)的24小时制的时间,如12:34表示12点34分.当小时或分钟数小于10时,均没有前导的零,如5:6表示5点零6分. 提示:在scanf的格式字符串中加入:,让scanf来处理这个冒号. 输出格式: 在一行中输出这个时间对应的12小时制的时间,数字部分格式与输入的相同,然后跟上空格,再跟上表示上午的字符串AM或表示下午的字符串PM.如5:6 PM表示

  • JS中split()用法(将字符串按指定符号分割成数组)

    废话不多说了,直接给大家贴代码. <!DOCTYPE html> <html> <head> <meta charset="{CHARSET}"> <title></title> </head> <body> </body> <script type="text/javascript"> //在Javascript脚本中,将字符串按指定符号进行分割

  • php ucwords() 函数将字符串中每个单词的首字符转换为大写(实现代码)

    php ucwords() 函数将字符串中每个单词的首字符转换为大写, 本文章向码农介绍php ucwords() 函数的基本使用方法和实例,感兴趣的码农可以参考一下. 定义和用法 ucwords() 函数把字符串中每个单词的首字符转换为大写. 注释:该函数是二进制安全的. 相关函数: lcfirst() - 把字符串中的首字符转换为小写 strtolower() - 把字符串转换为小写 strtoupper() - 把字符串转换为大写 ucfirst() - 把字符串中的首字符转换为大写 语法

  • C语言中无符号与有符号及相加问题

    C语言中无符号与有符号问题 unsigned char a[5] = { 12,36,96,128,182 }; a[]范围为0~256. 数组中数都有效. char a[5] = { 12,36,96,128,182 }; a[]范围为-128~127. 数组中128和182均无效. C语言中无符号数和有符号数相加问题 看个题: #include<stdio.h> int main() { unsigned int a=6; int b=-20; printf("%d\n"

  • 在laravel中实现将查询的对象转换为多维数组的函数

    我们在laravel中通过数据库查询,有时获取的为对象.但是在进行使用excel类的时候,要求我们使用的多维数组.那么我们就不要进行转换了,如果使用toArray()无能将对象转换我们想要的类型,就需要手动转换. 下面贴代码: //函数处理,转换为表格需求的格式 $d =[]; foreach ($goods as $k=>$v) { $m = []; foreach ($v as $i=>$j) { $m[$i] = $j; } $d[$k] = $m; } 备注$goods是数组查询出来的

  • 在Java中轻松将HTML格式文本转换为纯文本的方法示例(保留换行)

    第一步:引入Jsoup和lang和lang3的依赖: Jsoup是HTML解析器 lang和lang3这两个包里有转换所需的工具类 <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.11.3</version> </dependency> <dependency> <group

  • Java中Object转换为List类型的实现方法

    前言 在很多项目编写过程中会使用Map<?>类型来进行参数的传递.为了能够让更多的类型放入value中,实例化的类型往往是Map<String, Object>来存放数据. 解析数据的时候map.get(key)所获取到的类型为Object.此时,需要转换成我们所需要的数据类型进行使用. 类型转换 在类型转换工程中,常见的转换方式为强制转换.如(String)map.get(key),(int)map.get(key)等.在是如果接收的类型为List,此时强转(List<St

随机推荐