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;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 【1】7,9,-1,5,( ) A、4;B、2;C、-1;D、-3 分析:选D,7+9=16;9+(-1)=8;(...
    Alex_bingo阅读 19,948评论 1 19
  • 第14周作业: 1.看需求ppt 2.每个人写出生活中的未被很好满足的10个需求,要求,不是互联网产品,而是生活中...
    若盛开风自来_22cf阅读 578评论 1 1
  • 1 我今年读研二,明年的这学期末就要毕业了,对,就是明天的冬天,2.5年制的学硕。因为打死都不会读博,所以昨天下午...
    卡卡阳阅读 966评论 14 14
  • jQuery方法使用Ajax技术 三层封装方法: 最底层:$.ajax();中间层:.load()、$.get()...
    fronter阅读 629评论 0 0
  • 彩铅画贴上两张,彩色的世界如我一般,欢喜的多姿多彩 这个是璐璐~ 还有那个蝴蝶精灵~ 换作是我,我更喜欢那只猫~ ...
    dutedelisai427阅读 193评论 2 1

友情链接更多精彩内容