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 相关文章推荐
动易数据转成dedecms的php程序
Apr 07 PHP
在smarty中调用php内置函数的方法
Feb 07 PHP
Yii调试SQL的常用方法
Jul 09 PHP
php通过ksort()函数给关联数组按照键排序的方法
Mar 18 PHP
WordPress自定义时间显示格式
Mar 27 PHP
yii2.0整合阿里云oss上传单个文件的示例
Sep 19 PHP
PHP ADODB生成HTML表格函数rs2html功能【附错误处理函数用法】
May 29 PHP
ThinkPHP5.0 图片上传生成缩略图实例代码说明
Jun 20 PHP
thinkphp集成前端脚手架Vue-cli的教程图解
Aug 30 PHP
Yii框架操作cookie与session的方法实例详解
Sep 04 PHP
laravel 解决多库下的DB::transaction()事务失效问题
Oct 21 PHP
Thinkphp 框架扩展之标签库驱动原理与用法分析
Apr 23 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调用Twitter的RSS的实现代码
2010/03/10 PHP
php设计模式之单例模式用法经典示例分析
2019/09/20 PHP
window.location.reload()方法刷新页面弹出要再次显示该网页对话框
2013/04/24 Javascript
JQuery EasyUI 加载两次url的原因分析及解决方案
2014/08/18 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
jQuery插件ContextMenu自定义图标
2017/03/15 Javascript
jQuery Ajax 实现分页 kkpager插件实例代码
2017/08/10 jQuery
Vue2.0基于vue-cli+webpack Vuex的用法(实例讲解)
2017/09/15 Javascript
详解JS数值Number类型
2018/02/07 Javascript
vue 自定义全局方法,在组件里面的使用介绍
2018/02/28 Javascript
vue中添加mp3音频文件的方法
2018/03/02 Javascript
详解Vue iview IE浏览器不兼容报错(Iview Bable polyfill)
2019/01/07 Javascript
在SSM框架下用laypage和ajax实现分页和数据交互的方法
2019/09/27 Javascript
微信小程序实现Swiper轮播图效果
2019/11/22 Javascript
JS代码触发事件代码实例
2020/01/02 Javascript
JS函数进阶之prototy用法实例分析
2020/01/15 Javascript
[03:59]第二届DOTA2亚洲邀请赛选手传记-VGJ.rOtk
2017/04/03 DOTA
Python中的赋值、浅拷贝、深拷贝介绍
2015/03/09 Python
python 写的一个爬虫程序源码
2016/02/28 Python
ansible作为python模块库使用的方法实例
2017/01/17 Python
Python算术运算符实例详解
2017/05/31 Python
python删除某个字符
2018/03/19 Python
浅析Python3 pip换源问题
2020/01/06 Python
python随机生成大小写字母数字混合密码(仅20行代码)
2020/02/01 Python
matlab中二维插值函数interp2的使用详解
2020/04/22 Python
原装进口全世界:天猫国际
2016/08/03 全球购物
SHEIN香港:价格实惠的女性时尚服装
2018/08/14 全球购物
TALLY WEiJL法国网上商店:服装、时装及配饰
2019/08/31 全球购物
德国亚马逊官方网站:Amazon.de
2020/11/15 全球购物
物流专业毕业生推荐信范文
2013/11/18 职场文书
营销人才自我鉴定范文
2013/12/25 职场文书
《长相思》听课反思
2014/04/10 职场文书
高中同学会活动方案
2014/08/14 职场文书
Nginx搭建rtmp直播服务器实现代码
2021/03/31 Servers
MySQL通过binlog恢复数据
2021/05/27 MySQL
python 开心网和豆瓣日记爬取的小爬虫
2021/05/29 Python