Blogger Information
Blog 16
fans 0
comment 0
visits 9595
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP入门之 变量与常量
Blastix Riotz
Original
516 people have browsed it

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; 显示当前命名空间的名称

Correcting teacher:灭绝师太灭绝师太

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post