全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 709|回复: 8
打印 上一主题 下一主题

问个php问题,如何把一个中文英文字符串转换为数字

[复制链接]
跳转到指定楼层
1#
发表于 2018-12-1 19:40:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比喻   "美国vps交流"   转换成一个对应数字,   无需还原,只需转换为数字就行了


我想了几个办法

md5("美国vps交流" )
urlencode("美国vps交流" )

但它们都会带字母啊

有没有别的内置函数实现
2#
发表于 2018-12-1 19:42:13 来自手机 | 只看该作者
MD5之后Replace掉,或者用正则不就行了吗
3#
 楼主| 发表于 2018-12-1 19:48:19 | 只看该作者
mangohappy 发表于 2018-12-1 19:42
MD5之后Replace掉,或者用正则不就行了吗

谢谢,那用正则提取数字好了,多了一个步聚

没有直接转换为数字的函数吗
4#
发表于 2018-12-1 19:54:04 | 只看该作者
http://php.net/manual/en/function.base-convert.php
http://php.net/manual/en/function.intval.php
5#
发表于 2018-12-1 19:57:25 | 只看该作者
围观者 发表于 2018-12-1 19:48
谢谢,那用正则提取数字好了,多了一个步聚

没有直接转换为数字的函数吗 ...
  1. <?php
  2. echo base_convert( md5( '美国vps交流' ), 16, 10 );
  3. ?>
复制代码
6#
 楼主| 发表于 2018-12-1 20:11:19 | 只看该作者
谢谢大家,这样比较符合我的需求

preg_match('/\d{2}/',md5('美国vps交流'),$aa);

把一个字符串变成一个对应的二位数字
7#
发表于 2018-12-1 20:12:32 | 只看该作者
围观者 发表于 2018-12-1 20:11
谢谢大家,这样比较符合我的需求

preg_match('/\d{2}/',md5('美国vps交流'),$aa);

你这个不会重复么。。
8#
 楼主| 发表于 2018-12-1 20:18:23 | 只看该作者
miven 发表于 2018-12-1 20:12
你这个不会重复么。。

重复没事,只作标识一下而己,就是要它重复

还有更高效率的写法吗
这里用到 md5 ,preg_match 和 正则
执行1000次 ,[页面执行时间:0.0014970302581787 ]秒
9#
发表于 2018-12-1 20:42:02 | 只看该作者
intval也可以转成一个数字
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-12-12 19:27 , Processed in 0.073577 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表