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 相关文章推荐
使用sockets:从新闻组中获取文章(二)
Oct 09 PHP
php面向对象全攻略 (九)访问类型
Sep 30 PHP
PHP中设置时区方法小结
Jun 03 PHP
解析php类的注册与自动加载
Jul 05 PHP
ThinkPHP3.1新特性之查询条件预处理简介
Jun 19 PHP
PHP中使用addslashes函数转义的安全性原理分析
Nov 03 PHP
php打印输出棋盘的实现方法
Dec 23 PHP
php实现遍历目录并删除指定文件中指定内容
Jan 21 PHP
PHP加密解密实例分析
Dec 25 PHP
php获取今日开始时间和结束时间的方法
Feb 27 PHP
PHP生成短网址的思路以及实现方法的详解
Mar 25 PHP
PHP基于array_unique实现二维数组去重
Jul 14 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递归调用与静态变量使用
2012/12/16 PHP
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
2014/06/09 PHP
浅谈PHP中的Trait使用方法
2019/03/22 PHP
PHP实现支持CURL字符串证书传输的方法
2019/03/23 PHP
一些mootools的学习资源
2010/02/07 Javascript
Jquery获取和修改img的src值的方法
2014/02/17 Javascript
jQuery循环滚动新闻列表示例代码
2014/06/17 Javascript
如何使用jquery easyui创建标签组件
2015/11/18 Javascript
学习JavaScript设计模式(接口)
2015/11/26 Javascript
JS模拟实现方法重载示例
2016/08/03 Javascript
vue.js树形组件之删除双击增加分支实例代码
2017/02/28 Javascript
vue-cli 自定义指令directive 添加验证滑块示例
2017/10/19 Javascript
js数组方法reduce经典用法代码分享
2018/01/07 Javascript
Vue精简版风格概述
2018/01/30 Javascript
koa2实现登录注册功能的示例代码
2018/12/03 Javascript
微信小程序之事件交互操作实例分析
2018/12/03 Javascript
pageGroup.js实现分页功能
2019/07/27 Javascript
jQuery zTree树插件的使用教程
2019/08/16 jQuery
[25:45]2018DOTA2亚洲邀请赛4.5SOLO赛 Sylar vs Paparazi
2018/04/06 DOTA
Python科学计算环境推荐——Anaconda
2014/06/30 Python
深入解析Python中的__builtins__内建对象
2016/06/21 Python
python利用urllib实现爬取京东网站商品图片的爬虫实例
2017/08/24 Python
python实现数据预处理之填充缺失值的示例
2017/12/22 Python
python 中if else 语句的作用及示例代码
2018/03/05 Python
使用python的pexpect模块,实现远程免密登录的示例
2019/02/14 Python
十个Python练手的实战项目,学会这些Python就基本没问题了(推荐)
2019/04/26 Python
详解pandas的外部数据导入与常用方法
2019/05/01 Python
python中matplotlib条件背景颜色的实现
2019/09/02 Python
Pyspark读取parquet数据过程解析
2020/03/27 Python
PageFactory设计模式基于python实现
2020/04/14 Python
Python venv虚拟环境配置过程解析
2020/07/08 Python
css3利用transform变形结合事件完成扇形导航
2020/10/26 HTML / CSS
Born鞋子官网:Born Shoes
2017/04/06 全球购物
美国优质马术服装购买网站:Breeches.com
2019/12/16 全球购物
工程业务员岗位职责
2013/12/31 职场文书
西安事变观后感
2015/06/12 职场文书