PHP-类型的转换

类型的转换

在PHP中变量的类型是可以随时的转变的,非常的灵活
最常见的是字符串与数字的转换,
或是数字/字符串->到布尔值的转换

例子:

$a = ‘13‘;
$a = $a + 2;
var_dump($a);
输出结果:int 15

$a = ‘13.5‘;
$a = $a + 2;
var_dump($a);
输出结果:float 15

$a = ‘hello13world‘;
$a = $a + 2;
var_dump($a);
输出结果:int 2

//下面例子:字符串连接
$a = 123;
$a = $a.‘hello‘;
var_dump($a);
输出结果:string 123hello

PHP手册:

数字型字符串在参与运算的时候就自动转换成数字了,然后根据具体运算时候的类型而改变成具体类型。
运算截取:从左到右截取,直到碰到不合法的数字,截取出来的部分转成数字
所以在例子-第三个的时候 一开始就碰到了不合法的字符,所以后面的结果就是整型的2

关于布尔型 在布尔型的判断下,下面的值被当作布尔型的假,而其他都被当作布尔型的真 字符串中的 空字符串:‘‘ 整数的 0 浮点型的 0.0 字符串的的 ‘0‘ 布尔型的 false null 空数组

详细在php手册 empty中有说明
时间: 2024-10-10 14:38:48

PHP-类型的转换的相关文章

【读书笔记】C#高级编程 第七章 运算符和类型强制转换

(一)运算符 类别 运算符 算术运算符 + - * / % 逻辑运算符 & | ^ ~ && || ! 字符串连接运算符 + 增量和减量运算符 ++ -- 移位运算符 << >> 比较运算符 == != < > <= >= 赋值运算符 = += -= *= /= %= &= |= ^= <<= >>= 成员访问运算符(用于对象和结构) . 索引运算符(用于数组和索引器) [] 类型转换运算符 () 条件

long类型字段转换成varchar2类型

参考文档: How to Convert a Long to Varchar2 (文档 ID 228532.1) /*long类型字段转换成varchar2类型*/ --建表 create table dxmy_long(lon long,var varchar2(100 )); --插数 insert into dxmy_long values( '丹心','明月' ); commit; --查看 declare v1 varchar2(100 ); begin select lon into

【转】java中byte数组与int类型的转换(两种方式)----不错

原文网址:http://blog.csdn.net/piaojun_pj/article/details/5903009 java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中,发送.者接收的数据都是 byte数组,但是int类型是4个byte组成的,如何把一个整形int转换成byte数组,同时如何把一个长度为4的byte数组转换为int类型.下面有两种方式. 第一种方法: public static byte[] int2byte(int

PHP类型转换&amp;&amp;类型强制转换

获取数据类型 : 如果想查看某个表达式的值和类型,用 var_dump(). 如果只是想得到一个易读懂的类型的表达方式用于调试,用 gettype(). 要查看某个类型,不要用 gettype(),而用 is_type() 函数. ■字符串转换为数值 当一个字符串被当作数字来求值时,根据以下规则来决定结果的类型和值. 如果包括“.”,“e”或“E”其中任何一个字符的话,字符串被当作 float 来求值.否则就被当作整数. 该值由字符串最前面的部分决定.如果字符串以合法的数字数据开始,就用该数字作

JavaScript中对象类型的转换小结

对象到字符串和对象到数字类型的转换涉及到两个重要的方法,最终的转换结果会受到这两个方法返回结果的影响,这两个方法就是toString和valueOf.所有的对象都会从Object对象中继承到这两个方法.toString方法 用于返回对象的字符串表示(但是其实也可以不返回字符串).对于默认从Object继承而来的toString方法并不会返回太多有意义的内容.而valueOf方法目的是返回一个可以表示对象的原始类型值,但是由于对象的复杂性,大多数情况下根本不可能用一个原始类型值来表示,所以默认的v

c++第十四章-(类型强转换)

类型强转换有2种. class Company { public: Company(std::string theName,std::string theProduct); virtual void printInfo(); protected: std::string name; std::string product; }; Company::Company(std::string theName,std::string theProduct) { this->name = theName;

id 与void *类型的转换(转)

在ARC 无效时,像以下代码这样将id 变量强制转换void * 变量并不会出问题./* ARC 无效 */id obj = [[NSObject alloc] init];void *p = obj; 更进一步,将该void * 变量赋值给id 变量中,调用其实例方法,运行时也不会有问题./* ARC 无效 */id o = p;[o release]; 但是在ARC 有效时这便会引起编译错误.error: implicit conversion of an Objective-C point

Delphi Byte数组与String类型的转换

string string = AnsiString = 长字符串,理论上长度不受限制,但其实受限于最大寻址范围2的32次方=4G字节: 变量Str名字是一个指针,指向位于堆内存的字符序列,字符序列起始于@Str[1],@Str[1]偏移负16个字节的空间存储着字串长度.引用计数等信息.字符序列以NULL结束. string[n] string[n] = ShortString = 短字符串,最多容纳255个字符,实际长度是字符长度+1,是Delphi的简单类型: Str[0]存储着字符的个数,

JavaScript的类型自动转换高级玩法JSFuck

0 前言 最开始是不小心在微信公众号(程序员大咖)看到一篇JS的高逼格代码,然后通过里面的链接跳转到了JSFuck的wiki,就像顺着迷宫找宝藏的感觉,感叹JS的自动类型转换的牛逼. 1 样例 (!(~+[])+{})[--[~+""][+[]]*[~+[]] + ~~!+[]]+({}+[])[[~!+[]]*~+[]] //如何装逼用代码骂别人SB (([][[]]+[])[+!![]]+([]+{})[!+[]+!![]])//如何用代码优雅地证明自己NB 2 原理 1.对于非原

《C#高级编程》【第7章】运算符与类型强制转换 -- 学习笔记

       运算符编程语言的基本元素,它使得我们的代码更加的简洁明了.然而我们为了解决操作数类型不同的问题,我们又有引入了强制转换的概念.我们先看看本章的内容构成吧. 1.运算符 我们来看看一些常见的运算符: <1>条件运算符 其语法如下: Condition ? true_Expression : false_Expression 当条件Condition为真时,其将执行true_Expression,否则执行false_Expression. <2> checked 和