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动态生成虚拟现实VRML网页
Oct 09 PHP
一段php加密解密的代码
Jul 16 PHP
深入PHP数据缓存的使用说明
May 10 PHP
PHP实现变色验证码实例
Jan 06 PHP
php数组操作之键名比较与差集、交集赋值的方法
Nov 10 PHP
php+mysql大量用户登录解决方案分析
Dec 29 PHP
PHP微信支付开发实例
Jun 22 PHP
PHP 闭包详解及实例代码
Sep 28 PHP
PHP单例模式与工厂模式详解
Aug 29 PHP
PHP+Redis 消息队列 实现高并发下注册人数统计的实例
Jan 29 PHP
Mac系统下安装PHP Xdebug
Mar 30 PHP
PHP 加密 Password Hashing API基础知识点
Mar 02 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
第1次亲密接触PHP5(2)
2006/10/09 PHP
PHP中绘制图像的一些函数总结
2014/11/19 PHP
PHP中ID设置自增后不连续的原因分析及解决办法
2016/08/21 PHP
Zend Framework入门应用实例详解
2016/12/11 PHP
小议Function.apply() 之一------(函数的劫持与对象的复制)
2006/11/30 Javascript
jquery实现居中弹出层代码
2010/08/25 Javascript
Jquery封装tab自动切换效果的具体实现
2013/07/13 Javascript
jQuery使用animate创建动画用法实例
2015/08/07 Javascript
javascript实现图片上传前台页面
2015/08/18 Javascript
JS实现在状态栏显示打字效果完整实例
2015/11/02 Javascript
JavaScript DOM 学习总结(五)
2015/11/24 Javascript
使用JQuery实现智能表单验证功能
2016/03/08 Javascript
ES5 ES6中Array对象去除重复项的方法总结
2017/04/27 Javascript
react实现菜单权限控制的方法
2017/12/11 Javascript
jQuery实现滚动到底部时自动加载更多的方法示例
2018/02/18 jQuery
jQuery实现动态加载select下拉列表项功能示例
2018/05/31 jQuery
小程序实现左右来回滚动字幕效果
2018/12/28 Javascript
nodejs通过钉钉群机器人推送消息的实现代码
2019/05/05 NodeJs
vue cli4.0项目引入typescript的方法
2020/07/17 Javascript
[01:05:56]2018DOTA2亚洲邀请赛3月29日 小组赛A组 Newbee VS VG
2018/03/30 DOTA
[02:26]2018DOTA2亚洲邀请赛赛前采访-Newbee篇
2018/04/03 DOTA
Python中常用信号signal类型实例
2018/01/25 Python
django rest framework serializer返回时间自动格式化方法
2020/03/31 Python
在TensorFlow中实现矩阵维度扩展
2020/05/22 Python
Pycharm配置lua编译环境过程图解
2020/11/28 Python
记者岗位职责
2014/01/06 职场文书
个人工作表现评语
2014/04/30 职场文书
责任胜于能力演讲稿
2014/05/20 职场文书
比赛口号大全
2014/06/10 职场文书
数学教研活动总结
2014/07/02 职场文书
2015年三年级班主任工作总结
2015/05/21 职场文书
离婚案件答辩状
2015/05/22 职场文书
小学运动会加油词
2015/07/18 职场文书
学校2016年全国助残日活动总结
2016/04/01 职场文书
Angular性能优化之第三方组件和懒加载技术
2021/05/10 Javascript
python中的3种定义类方法
2021/11/27 Python