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 相关文章推荐
WINDOWS服务器安装多套PHP的另类解决方案
Oct 09 PHP
PHP4实际应用经验篇(4)
Oct 09 PHP
php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码
Oct 22 PHP
需要注意的几个PHP漏洞小结
Feb 05 PHP
php一些错误处理的方法与技巧总结
Aug 10 PHP
php截取中文字符串不乱码的方法
Dec 25 PHP
php二分查找二种实现示例
Mar 12 PHP
php中strstr、strrchr、substr、stristr四个函数的区别总结
Sep 22 PHP
跟我学Laravel之配置Laravel
Oct 15 PHP
PHP生成json和xml类型接口数据格式
May 17 PHP
PHP创建/删除/复制文件夹、文件
May 03 PHP
PHP时间日期增减操作示例【date strtotime实现加一天、加一月等操作】
Dec 21 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 字符串分割和比较
2009/10/06 PHP
php 5.6版本中编写一个PHP扩展的简单示例
2015/01/20 PHP
php 实现301重定向跳转实例代码
2016/07/18 PHP
Javascript日期对象的dateAdd与dateDiff方法
2008/11/18 Javascript
关于IE、Firefox、Opera页面呈现异同 写脚本很痛苦
2009/08/28 Javascript
js Html结构转字符串形式显示代码
2011/11/15 Javascript
在Node.js中使用HTTP上传文件的方法
2015/06/23 Javascript
JavaScript基础篇(6)之函数表达式闭包
2015/12/11 Javascript
使用PBFunc在Powerbuilder中支付宝当面付款功能
2016/10/01 Javascript
Angular2从搭建环境到开发步骤详解
2016/10/17 Javascript
前端分页功能的实现以及原理(jQuery)
2017/01/22 Javascript
jQuery表格(Table)基本操作实例分析
2017/03/10 Javascript
深入理解 JavaScript 中的 JSON
2017/04/06 Javascript
ES6中字符串string常用的新增方法小结
2017/11/07 Javascript
EasyUI的DataGrid绑定Json数据源的示例代码
2017/12/16 Javascript
详解NodeJs开发微信公众号
2018/05/25 NodeJs
浅谈小程序 setData学问多
2019/02/20 Javascript
百度小程序之间的页面通信过程详解
2019/07/18 Javascript
使用VScode 插件debugger for chrome 调试react源码的方法
2019/09/13 Javascript
基于JS实现table导出Excel并保留样式
2020/05/19 Javascript
python33 urllib2使用方法细节讲解
2013/12/03 Python
使用python实现拉钩网上的FizzBuzzWhizz问题示例
2014/05/05 Python
Python的自动化部署模块Fabric的安装及使用指南
2016/01/19 Python
Python 制作糗事百科爬虫实例
2016/09/22 Python
Python实现扣除个人税后的工资计算器示例
2018/03/26 Python
Python对CSV、Excel、txt、dat文件的处理
2018/09/18 Python
python 计算平均平方误差(MSE)的实例
2019/06/29 Python
Python 网络编程之TCP客户端/服务端功能示例【基于socket套接字】
2019/10/12 Python
Pycharm Git 设置方法
2020/09/15 Python
英国鲜花递送:Blossoming Gifts
2020/07/10 全球购物
将一个文本文件的内容按倒序打印出来
2015/01/05 面试题
经典C++面试题一
2016/11/06 面试题
活动策划邀请函
2014/02/06 职场文书
质量保证书格式
2015/02/27 职场文书
拾金不昧通报表扬范文
2015/05/05 职场文书
2016年教师节特级教师获奖感言
2015/12/09 职场文书