249建站之家: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;


推荐

  • QQ空间

  • 新浪微博

  • 人人网

  • 豆瓣

取消