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编写一个简单的路由类
Apr 13 PHP
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
Dec 25 PHP
php计算几分钟前、几小时前、几天前的几个函数、类分享
Apr 09 PHP
PHP入门经历和学习过程分享
Apr 11 PHP
php常用文件操作函数汇总
Nov 22 PHP
php源码分析之DZX1.5随机数函数random用法
Jun 17 PHP
Yii使用技巧大汇总
Dec 29 PHP
PHP编程 SSO详细介绍及简单实例
Jan 13 PHP
PHP对称加密算法(DES/AES)类的实现代码
Nov 14 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
Jun 16 PHP
PHP异常类及异常处理操作实例详解
Dec 19 PHP
laravel 去掉index.php伪静态的操作方法
Oct 12 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 Smarty模板生成html文档的方法
2010/04/12 PHP
PHP安全性漫谈
2012/06/28 PHP
浅谈php优化需要注意的地方
2014/11/27 PHP
学习php设计模式 php实现建造者模式
2015/12/07 PHP
PHP批量获取网页中所有固定种子链接的方法
2016/11/18 PHP
Yii2框架自定义验证规则操作示例
2019/02/08 PHP
设定php简写功能的方法
2019/11/28 PHP
让你的博文自动带上缩址的实现代码,方便发到微博客上
2010/12/28 Javascript
关于火狐(firefox)及ie下event获取的两种方法
2012/12/27 Javascript
javascript上传图片前预览图片兼容大多数浏览器
2013/10/25 Javascript
javascript实现的DES加密示例
2013/10/30 Javascript
js模拟点击以提交表单为例兼容主流浏览器
2013/11/29 Javascript
Bootstrap图片轮播组件使用实例解析
2016/06/30 Javascript
ES6使用Set数据结构实现数组的交集、并集、差集功能示例
2017/10/31 Javascript
原生js封装的ajax方法示例
2018/08/02 Javascript
jQuery实现轮播图及其原理详解
2020/04/12 jQuery
微信小程序select下拉框实现效果
2019/05/15 Javascript
js tab栏切换代码实例解析
2019/09/03 Javascript
wxPython窗口的继承机制实例分析
2014/09/28 Python
Python中文分词工具之结巴分词用法实例总结【经典案例】
2017/04/15 Python
Python3中简单的文件操作及两个简单小实例分享
2017/06/18 Python
python opencv 读取图片 返回图片某像素点的b,g,r值的实现方法
2019/07/03 Python
Python常用库Numpy进行矩阵运算详解
2020/07/21 Python
python 常用日期处理-- datetime 模块的使用
2020/09/02 Python
关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题
2020/11/24 Python
详解rem 适配布局
2018/10/31 HTML / CSS
新西兰航空中国官网:Air New Zealand China
2018/07/24 全球购物
Mountain Hardwear官网:攀岩服装和户外装备
2019/09/26 全球购物
安全教育心得体会
2013/12/29 职场文书
银行工作检查书范文
2014/01/31 职场文书
《影子》教学反思
2014/02/21 职场文书
开门红主持词
2014/04/02 职场文书
员工工作自我评价
2014/09/26 职场文书
员工离职通知函
2015/04/25 职场文书
2019年消防宣传标语集锦
2019/11/21 职场文书
Win11使用CAD卡顿或者致命错误怎么办?Win11无法正常使用CAD的解决方法
2022/07/23 数码科技