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 相关文章推荐
使用 php4 加速 web 传输
Oct 09 PHP
新手配置 PHP 调试环境(IIS+PHP+MYSQL)
Jan 10 PHP
基于HTTP长连接的&quot;服务器推&quot;技术的php 简易聊天室
Oct 31 PHP
IP138 IP地址查询小偷实现代码
Feb 15 PHP
PHP 多维数组排序(usort,uasort)
Jun 30 PHP
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
Mar 06 PHP
php 模拟POST提交的2种方法详解
Jun 17 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
Dec 07 PHP
php简单构造json多维数组的方法示例
Jun 08 PHP
Ajax+PHP实现的分类列表框功能示例
Feb 11 PHP
PHP count_chars()函数讲解
Feb 14 PHP
php下的原生ajax请求用法实例分析
Feb 28 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/07/08 PHP
PHP 高手之路(二)
2006/10/09 PHP
Windows中安装Apache2和PHP4权威指南
2006/11/18 PHP
php小偷相关截取函数备忘
2010/11/28 PHP
php绘图中显示不出图片的原因及解决
2014/03/05 PHP
浅析ThinkPHP的模板输出功能
2014/07/01 PHP
VB中的RasEnumConnections函数返回632错误解决方法
2014/07/29 PHP
ThinkPHP分组下自定义标签库实例
2014/11/01 PHP
学习thinkphp5.0验证类使用方法
2017/11/16 PHP
Google排名中的10个最著名的 JavaScript库
2010/04/27 Javascript
javascript写的日历类(基于pj)
2010/12/28 Javascript
jquery中通过过滤器获取表单元素的实现代码
2011/07/05 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(四)用地图块拼成大地图
2013/01/23 Javascript
JS获取URL中参数值(QueryString)的4种方法分享
2014/04/12 Javascript
jQuery中[attribute!=value]选择器用法实例
2014/12/31 Javascript
使用javascript实现简单的选项卡切换
2015/01/09 Javascript
易操作的jQuery表单提示插件
2015/12/01 Javascript
全面解析Bootstrap图片轮播效果
2015/12/03 Javascript
基于jQuery通过jQuery.form.js插件实现异步上传
2015/12/13 Javascript
谈一谈javascript中继承的多种方式
2016/02/19 Javascript
原生JS和jQuery版实现文件上传功能
2016/04/18 Javascript
使用Node.js给图片加水印的方法
2016/11/15 Javascript
JS前端笔试题分析
2016/12/19 Javascript
JavaScript 事件对内存和性能的影响
2017/01/22 Javascript
实例解析js中try、catch、finally的执行规则
2017/02/24 Javascript
提高Web性能的前端优化技巧总结
2017/02/27 Javascript
javascript实现table单元格点击展开隐藏效果(实例代码)
2017/04/10 Javascript
javascript数据结构之串的概念与用法分析
2017/04/12 Javascript
浅谈Angular路由守卫
2017/08/26 Javascript
基于JSON数据格式详解
2017/08/31 Javascript
浅谈webpack性能榨汁机(打包速度优化)
2019/01/09 Javascript
Python获取系统所有进程PID及进程名称的方法示例
2018/05/24 Python
python多进程使用及线程池的使用方法代码详解
2018/10/24 Python
python画微信表情符的实例代码
2019/10/09 Python
Under Armour西班牙官网:美国知名的高端功能性运动品牌
2018/12/12 全球购物
项目合作意向书
2015/05/08 职场文书