PHP中类型转换 ,常量,系统常量,魔术常量的详解


Posted in PHP onOctober 26, 2017

PHP中类型转换 ,常量,系统常量,魔术常量的详解

1.自动类型转换;

在运算和判断时,会进行自动类型转换;
1)其他类型转为bool,判断时转换;
  1)整型转布尔型:0转false,非0转为true;
  2) 空字符串和‘0'(“0”)转为false,其他转为true;
  3) 空数组转为false, 非空数组则转为true;
  4) null转为false
  5) 资源打开不成功为false 
    是0或空,打开不成功的转为‘false','0';
2)其他类型转为字符串(字符串拼接);
  null bool int float
  1) null转换为空串(空串不显示)
  2)整数直接转换为对应字符串 5=>'5';
  3)实数直接转换为对应的字符串,但尾0不转(实数小数点最后的0);
  4)true转换为'1‘,false转为空串;
字符串、布尔、整型、浮点、null
3) 运算时发生的类型转换
  1)true/false转换1/0;
  2)null转换为0;
  3)字符串开头的部分的数值换为对应数值;
  4)字符串开头没数值则直接转为0;
  (null,string,bool) < int < float

2、强制类型转化

就是手动的把一个类型的值转换为另一个类型的值;
  1、类型转化函数 intval ,strval, floatval
    $num1 = 1.2;
    $num2 = strval($num1); //吧$num1的值转换为字符串;
    var_dump($num1); 
    var_dump($num2); 
  2、(类型)$变量  不能转为resource
    $num2 = (unset)$num2;转为空
  3、settype(变量,类型) 类型必须写成字符串;
    改变变量的类型和值;
  注意事项
    1)浮点数转整数,直接干掉小数;
    2) echo(int)($num1 + 0.5); 四舍五入

3、常量

1)常量定义
  define(常量名,常量值)
  define(‘SONG',22);
注意:
  1)常量名是字符串;
  2)常量值必须是标量
  3)常量名一般大写,和变量做区别;
  4)常量名和变量名,命名规则相同;
2)系统常量
  __LINE__ 当前行号
  __FILE__ 当前文件的名称
  __DIR__ 当前文件的目录;
  PHP_OS  操作系统
  PHP_VERSION php的版本

魔术常量:
__FUNCTION__ 函数名
__FUNCTION__函数名;
__CLASS__ 类名
__CLASS__ 类名
__METHOD__方法名
__METHOD__方法民
__NAMESPACE__ :名空间
__NAMESPACE__ 名空间;
3)常量判断
  defined(常量名) 常量名必须是字符串;
  判断是否定义过常量;

4.运算符和表达式;

1)算数运算符 + - (乘法) /(除法) % .
%求模/取余
0 % 3 = 0
12 % 10 = 2
5 % 19 = 4
1 % 3 = 1;
2 % 3 = 2;
3 % 3 = 0;
-9 % 4 = -1
9 % -4 = 1;
模运算的结果的符号取决于第一个数。
判断奇偶
X%2 == 0 为偶数,能整除
X%2 != 0 则为奇数,不能整除
2 * 3 = 8
指数运算;
2 3 = 8;
3 2 = 9;

如有疑问请留言或到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

PHP 相关文章推荐
php正则校验用户名介绍
Jul 19 PHP
简单的php写入数据库类代码分享
Jul 26 PHP
php在文件指定行中写入代码的方法
May 23 PHP
基于php split()函数的用法详解
Jun 05 PHP
PHP 如何获取二维数组中某个key的集合
Jun 03 PHP
Symfony2实现在controller中获取url的方法
Mar 18 PHP
Yii实现简单分页的方法
Apr 29 PHP
CI框架简单邮件发送类实例
May 18 PHP
PHP 在数组中搜索给定的简单实例 array_search 函数
Jun 13 PHP
php rsa 加密,解密,签名,验签详解
Dec 06 PHP
ZendFramework2连接数据库操作实例
Apr 18 PHP
PHP7 错误处理机制修改
Mar 09 PHP
利用php获得flv视频长度的实例代码
Oct 26 #PHP
PHP 中魔术常量的实例详解
Oct 26 #PHP
yii框架redis结合php实现秒杀效果(实例代码)
Oct 26 #PHP
PHP对象的浅复制与深复制的实例详解
Oct 26 #PHP
PHP中的浅复制与深复制的实例详解
Oct 26 #PHP
thinkPHP5实现数据库添加内容的方法
Oct 25 #PHP
thinkPHP5分页功能实现方法分析
Oct 25 #PHP
You might like
PHP将数据导出Excel表中的实例(投机型)
2017/07/31 PHP
Javascript 键盘keyCode键码值表
2009/12/24 Javascript
基于jquery的一个拖拽到指定区域内的效果
2011/09/21 Javascript
select标记美化--JS式插件、后期加载
2013/04/01 Javascript
分析Node.js connect ECONNREFUSED错误
2013/04/09 Javascript
js中cookie的添加、取值、删除示例代码
2013/10/21 Javascript
javascript拖拽上传类库DropzoneJS使用方法
2013/12/05 Javascript
动态显示可输入的字数提示还可以输入的字数
2014/04/01 Javascript
使用node.js半年来总结的 10 条经验
2014/08/18 Javascript
javascript常见操作汇总
2014/09/03 Javascript
微信小程序 扎金花简单实例
2017/02/21 Javascript
ES6新特性七:数组的扩充详解
2017/04/21 Javascript
jQuery 实现鼠标画框并对框内数据选中的实例代码
2017/08/29 jQuery
Vue DevTools调试工具的使用
2017/12/05 Javascript
swiper 自动图片无限轮播实现代码
2018/05/21 Javascript
微信小程序里引入SVG矢量图标的方法
2019/09/20 Javascript
JavaScript自定义超时API代码实例
2020/04/30 Javascript
Python中分数的相关使用教程
2015/03/30 Python
浅谈Python类的__getitem__和__setitem__特殊方法
2016/12/25 Python
PyTorch快速搭建神经网络及其保存提取方法详解
2018/04/28 Python
使用Python+wxpy 找出微信里把你删除的好友实例
2019/02/21 Python
python模拟实现斗地主发牌
2020/01/07 Python
Python面向对象魔法方法和单例模块代码实例
2020/03/25 Python
运行Python编写的程序方法实例
2020/10/21 Python
猎人靴英国官网:Hunter Boots
2017/02/02 全球购物
澳大利亚第一的设计师礼服租赁网站:GlamCorner
2017/08/13 全球购物
西班牙购买行李箱和背包网站:Maletas Greenwich
2019/10/08 全球购物
利用异或运算实现两个无符号数的加法运算
2013/12/20 面试题
办公室前台岗位职责
2014/01/04 职场文书
战友聚会邀请函
2014/01/18 职场文书
婚内房产协议书范本
2014/10/02 职场文书
买卖合同协议书范本
2014/10/18 职场文书
2015年小学语文工作总结
2015/05/25 职场文书
2015大一新生军训感言
2015/08/01 职场文书
在Django中使用MQTT的方法
2021/05/10 Python
Mysql中的触发器定义及语法介绍
2022/06/25 MySQL