PHP当中如何将数组当中的字符串数据类型转化为数值类型?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP当中如何将数组当中的字符串数据类型转化为数值类型?相关的知识,希望对你有一定的参考价值。

比如说现在有 $a="3456";怎么转换成整型 $b=3456,不转换是不行的,大小比较要出意外,例如"2"会大于"12",一般的转换方法是加0,例如: $a="3456"; $a+=0;还可以通过php函数:intval()将变量转成整数类型。intval(mixed var, int [base]);
但是如何对对象数组当中某个对象的关联数组字段做转换呢?
如下面数组当中的三个字段,当前都是字符串类型
Array(
[0]=>stdClassObject([mail_id]=>"1"[sender_id]=>"1"[reader_id]=>"2")
[1]=>stdClassObject([mail_id]=>"3"[sender_id]=>"1"[reader_id]=>"2")
[2]=>stdClassObject([mail_id]=>"50"[sender_id]=>"1"[reader_id]=>"8")
[3]=>stdClassObject([mail_id]=>"51"[sender_id]=>"1"[reader_id]=>"9")
[4]=>stdClassObject([mail_id]=>"52"[sender_id]=>"1"[reader_id]=>"10")
[5]=>stdClassObject([mail_id]=>"53"[sender_id]=>"1"[reader_id]=>"11")
[6]=>stdClassObject([mail_id]=>"54"[sender_id]=>"1"[reader_id]=>"12"
)
谢谢!
能否将这三个排序字段的数据类型都转换成为整型之类

参考技术A PHP我不懂,这你还是请教一下PHP的 参考技术B intval();函数
$a = "1234565";
echo gettype($a),"<hr>";
echo gettype(intval($a));

结果:
string
——————————————
integer本回答被提问者采纳

关于oracle当中数据类型转换的问题

今天在做项目的过程当中发现,我们在使用mybatis从数据库中拿数据。但是死活不能转化成我们想要的形式。

然后在网上查了相关的资料;

基本的转化如下:

select CAST(\'1034.0\' AS NUMBER (10, 2) ) as aa from  UTTDB.UTT_TRANS_LOG

这里使用的是将数据转换成number类型,然后保留两位小数的形式。

select CAST(TRANS_AMT AS DECIMAL (10, 2) ) as aa from UTTDB.UTT_TRANS_LOG

这里是将数据转换成为decimal类型,然后保留两位小数的形式。

select to_char(TRANS_AMT, \'999.00\') as aa from  UTTDB.UTT_TRANS_LOG

这里是将数据转换成字符的形式,也是保留两位小数。

这里值得注意的是,我们在对数据进行转换的时候一定要注意数据的长度,否则转换的结果就出现下面的情况:

    select to_char(TRANS_AMT, \'99.00\') as aa from  UTTDB.UTT_TRANS_LOG
这条语句是将数据转化成最大99,保留两位小数的形式。然后看下面的结果:

 

这里明显的看到我们在对数据比较大的进行转化的时候出现了错误,所以转化一定要和数据库保持一致。

 还有一点需要注意,在oracle当中我们将数据转换成字符串的时候,如果位数很多,他就会在前面补充相应的空格。例子如下:

 

SELECT to_char(TRANS_AMT, \'9999999999999999999999999999999999999999999999.00\')as aa from  UTTDB.UTT_TRANS_LOG

这里的位数过多的话,在查询的时候显示的效果如下:

从上面可以看出在数据位数不够的情况下,我们会看到被空格占据。这个时候我们就要考虑去空格的操作:

这时候去除左边的空格,操作如下:

SELECT LTRIM(to_char(TRANS_AMT, \'9999999999999999999999999999999999999999999999.00\'))as aa from  UTTDB.UTT_TRANS_LOG

使用LTRIM()方法即可。

 

以上是关于PHP当中如何将数组当中的字符串数据类型转化为数值类型?的主要内容,如果未能解决你的问题,请参考以下文章

php当中,如何将数组合并成变量呢?

在labview中如何将16进制字符串数组转化为十进制数值数组?

将MySQL当中的数据表在PHP当中转换成数组并打印,为什么没有显示到网页上面呢?

在PHP中如何强制转化成字符串

javascript中如何将获得的整型数值转换为字节数组

22个案例详解Pandas数据分析/预处理时的实用技巧,超简单