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 base64+gzinflate压缩编码和解码代码
Oct 03 PHP
php中http_build_query 的一个问题
Mar 25 PHP
修改php.ini不生效问题解决方法(上传大于8M的文件)
Jun 14 PHP
PHP 输出URL的快捷方式示例代码
Sep 22 PHP
PHP网站开发中常用的8个小技巧
Feb 13 PHP
使用PHP接受文件并获得其后缀名的方法
Aug 05 PHP
PHP7.0安装笔记整理
Aug 28 PHP
2款PHP无限级分类实例代码
Nov 11 PHP
学习php设计模式 php实现命令模式(command)
Dec 08 PHP
[原创]php正则删除html代码中class样式属性的方法
May 24 PHP
PHP编程实现阳历转换为阴历的方法实例
Aug 08 PHP
Laravel find in set排序实例
Oct 09 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
《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
php中Swoole的热更新实现代码实例
2021/03/04 PHP
extjs 的权限问题 要求控制的对象是 菜单,按钮,URL
2010/03/09 Javascript
JS 文件大小判断的实现代码
2010/04/07 Javascript
JavaScript 语言的递归编程
2010/05/18 Javascript
js关于字符长度限制的问题示例探讨
2014/01/24 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
JavaScript删除数组元素的方法
2015/03/20 Javascript
jQuery validate+artdialog+jquery form实现弹出表单思路详解
2016/04/18 Javascript
AngularJs Dependency Injection(DI,依赖注入)
2016/09/02 Javascript
JQuery控制DIV的选取实现方法
2016/09/18 Javascript
javascript中闭包概念与用法深入理解
2016/12/15 Javascript
JS中实现函数return多个返回值的实例
2017/02/21 Javascript
node.js 利用流实现读写同步,边读边写的方法
2017/09/11 Javascript
微信小程序异步处理详解
2017/11/10 Javascript
Node.js Express安装与使用教程
2018/05/11 Javascript
使用node.js实现微信小程序实时聊天功能
2018/08/13 Javascript
vue-cli2打包前和打包后的css前缀不一致的问题解决
2018/08/24 Javascript
浅谈VUE-CLI脚手架热更新太慢的原因和解决方法
2018/09/28 Javascript
javascript中的event loop事件循环详解
2018/12/14 Javascript
[43:48]Ti4正赛第一天 VG vs NEWBEE 2
2014/07/19 DOTA
python实现从网络下载文件并获得文件大小及类型的方法
2015/04/28 Python
Python 实现一行输入多个值的方法
2018/04/21 Python
Python自定义装饰器原理与用法实例分析
2018/07/16 Python
[原创]Python入门教程3. 列表基本操作【定义、运算、常用函数】
2018/10/30 Python
Python 3 实现定义跨模块的全局变量和使用教程
2019/07/07 Python
opencv-python的RGB与BGR互转方式
2020/06/02 Python
Python不支持 i ++ 语法的原因解析
2020/07/22 Python
python线程里哪种模块比较适合
2020/08/02 Python
python 带时区的日期格式化操作
2020/10/23 Python
GLAMGLOW香港官网:明星出镜前的秘密武器
2017/03/16 全球购物
台湾旅游网站:雄狮旅游网
2017/08/16 全球购物
庆国庆国旗下讲话稿2014
2014/09/21 职场文书
场地使用证明模板
2014/10/25 职场文书
群众路线自查自纠工作情况报告
2014/10/28 职场文书
2019最新劳动仲裁申请书!
2019/07/08 职场文书