PHP变量类型与转换方式

  1. // php有8种变量类型 4种标量类型 2种复合类型(array ,object) 2种特殊类型(resource,null)
  2. //标量类型
  3. $int = 11;
  4. $float = 11.11;
  5. $bool = false;
  6. $str = 'hello';
  7. //特殊类型
  8. //resource 资源类型 保存到外部资源的一个引用
  9. $handle = fopen('log.txt','w');
  10. var_dump($handle); //resource(3) of type (stream) 3是资源类型id stream是资源类型
  11. //imagecreate()
  12. $image_handle = imagecreate(100,50);
  13. var_dump($image_handle); //resource(3) of type (stream) resource(4) of type (gd) gd库扩展
  14. //null 1.标示一个变量没有值,空 2.不表示空格,也不表示0,不表示空字符串 3.不区分大小写 NULL
  15. var_dump($int);//int(22)
  16. $int = null;
  17. var_dump($int);//null
  18. //PHP变量类型转化
  19. //1.强制类型转换(临时)
  20. $a = '123';
  21. echo gettype((int)$a);
  22. //2.类型永久转换
  23. settype($a,'int');
  24. echo gettype($a);
  25. //系统自动转换
  26. //"+","-" 要求参与计算的数据类型都是数值类型,如果不是,会触发自动转换
  27. $foo ="100pages";
  28. @$foo += 200;
  29. var_dump($foo);//int(300)
  30. $foo += 12.3;
  31. var_dump($foo);//float(312.3)

变量值传递与值引用的区别

  1. //变量赋值
  2. //1.传值赋值:将源变量的值复制出来给另一个变量,修改两个变量的值,互不影响
  3. $a = 45;
  4. $b = $a;
  5. printf('$a的值为%d,$b的值为%d<br>',$a,$b);//$a的值为45,$b的值为45
  6. $a = 450;
  7. printf('$a的值为%d,$b的值为%d<br>',$a,$b);//$a的值为450,$b的值为45
  8. //2.引用赋值 &地址引用符;新的变量 引用/指向了原始变量,互相影响,没有复制操作
  9. $price1 = 25;
  10. $price2 = &$price1;
  11. printf('$price1的值为%d,$price2的值为%d<br>',$price1,$price2);//都是25
  12. $price1 = 250;
  13. printf('$price1的值为%d,$price2的值为%d<br>',$price1,$price2);//都变成了250
  14. //unset()
  15. $foo = 35;
  16. $bar = &$foo;
  17. unset($foo);//仅将$foo、$bar取消关联
  18. var_dump($bar);//int(35)

变量的作用域

  1. function demo(){
  2. //$a,$b 定义在函数内部,属于局部变量,只能在函数内部访问有效
  3. $a = 100;
  4. $b = 200;
  5. echo ($a+%b);
  6. }
  7. demo();
  8. // echo $a;非法访问,在函数外部不能访问局部变量
  9. //全局变量 无法在函数内部直接调用
  10. $one = 100;
  11. $two = 200;
  12. function test(){
  13. //1.global
  14. global $one,$two;
  15. echo($one+$two);
  16. //2.$GLOBAL超全局变量
  17. echo($GLOBAL['$one']+$GLOBAL['$two']);
  18. }
  19. test();
  20. //3.$_GET,$_POST,$_SERVEN等系统预定义变量
  21. echo'<pre>'.print_r($_GET,true).'</pre>';
  22. echo'<pre>'.print_r($_POST,true).'</pre>';
  23. echo'<pre>'.print_r($_SERVEN,true).'</pre>';

魔术常量

  • php魔术常量

//LINE php脚本所在的行数
//DIR 它所在的目录,绝对路径
//FUNCTION 当前函数的名称
//METHOD, 输出类的成员函数名称
//NAMESPACE; 显示当前命名空间的名称

更多相关文章

  1. 1. 变量的类型转换方式 2. 变量值传递与值引用的区别 2. 变量的
  2. 210426 PHP 输出方法,数据类型,变量,作用域,常量
  3. 4.13 在vSphere环境中创建不同类型的文件夹
  4. 语法基础: 使用不同的数据类型标记数组
  5. 如何在定义局部变量时赋初始值
  6. php入门之 js数组遍历与php的区别
  7. SQLyog
  8. 【php基础入门】运算符、流程控制语句及单双引号和模块化编程的
  9. PHP第二课:变量,常量,魔术常量

随机推荐

  1. 使用Asp.net实现信息管理系统的数据统计
  2. .net MVC中forms验证的使用实例详解
  3. 比较.NET中接口与类
  4. Asp.net实现文件下载功能
  5. Entity Framework自定义分页效果的实现教
  6. 解决Asp.net的MVC中Razor常见问题方法
  7. 在Linux下搭建.net core开发环境教程
  8. 有关asp.net如何实现多个文件同时下载问
  9. 讨论在VS2015下使用EF框架的使用方法
  10. .net验证后台页面是否登录实例教程