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 批量删除数据的方法分析
Oct 30 PHP
centos 5.6 升级php到5.3的方法
May 14 PHP
3款值得推荐的微信开发开源框架
Oct 28 PHP
php站内搜索关键词变亮的实现方法
Dec 30 PHP
PHP生成压缩文件实例
Feb 07 PHP
smarty模板引擎之内建函数用法
Mar 30 PHP
常用的php图片处理类(水印、等比缩放、固定高宽)分享
Jun 19 PHP
WordPress中用于更新伪静态规则的PHP代码实例讲解
Dec 18 PHP
PHP数组操作简单案例分析
Oct 15 PHP
Yii2框架操作数据库的方法分析【以mysql为例】
May 27 PHP
phpstorm最新激活码分享亲测phpstorm2020.2.3版可用
Nov 22 PHP
PHP并发场景的三种解决方案代码实例
Feb 27 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中显示格式化的用户输入
2006/10/09 PHP
PHP字符串长度计算 - strlen()函数使用介绍
2013/10/15 PHP
PHP实现无限级分类(不使用递归)
2015/10/22 PHP
在线游戏大家来找茬II
2006/09/30 Javascript
深入理解JavaScript定时机制
2010/10/29 Javascript
初学js插入节点appendChild insertBefore使用方法
2011/07/04 Javascript
jQuery删除节点的三个方法即remove()detach()和empty()
2013/12/27 Javascript
php的文件上传入门教程(实例讲解)
2014/04/10 Javascript
jQuery 2.0.3 源码分析之core(一)整体架构
2014/05/27 Javascript
js监听鼠标点击和键盘点击事件并自动跳转页面
2014/09/24 Javascript
Javascript基础教程之数组 array
2015/01/18 Javascript
运行Node.js的IIS扩展iisnode安装配置笔记
2015/03/02 Javascript
javascript实现框架高度随内容改变的方法
2015/07/23 Javascript
15位和18位身份证JS校验的简单实例
2016/07/18 Javascript
利用jQuery来动态为属性添加或者删除属性的简单方法
2016/12/02 Javascript
js实现弹窗暗层效果
2017/01/16 Javascript
vue脚手架搭建项目的兼容性配置详解
2018/07/17 Javascript
element-ui中select组件绑定值改变,触发change事件方法
2018/08/24 Javascript
node.js使用zlib模块进行数据压缩和解压操作示例
2020/02/12 Javascript
python实现给字典添加条目的方法
2014/09/25 Python
在Python中使用NLTK库实现对词干的提取的教程
2015/04/08 Python
Django自定义分页效果
2017/06/27 Python
用 Python 爬了爬自己的微信朋友(实例讲解)
2017/08/25 Python
Pycharm 操作Django Model的简单运用方法
2018/05/23 Python
django框架cookie和session用法实例详解
2019/12/10 Python
python GUI库图形界面开发之PyQt5窗口背景与不规则窗口实例
2020/02/25 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
2020/03/28 Python
Python根据URL地址下载文件并保存至对应目录的实现
2020/11/15 Python
朗仕(Lab series)英国官网:雅诗兰黛集团男士专属护肤品牌
2017/11/28 全球购物
Needle & Thread官网:英国仙女品牌
2018/01/13 全球购物
西班牙在线光学:Visual-Click
2020/06/22 全球购物
群众路线领导对照材料
2014/08/23 职场文书
仓库统计员岗位职责
2015/04/14 职场文书
毕业感言怎么写
2015/07/31 职场文书
2016三严三实专题教育活动心得体会
2016/01/06 职场文书
离婚协议书范本(2016最新版)
2016/03/18 职场文书