PHP入门之 变量与常量

2021年05月03日 21:14:34阅读数:31博客 / Blastix Riotz / PHP学习

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

批改状态:合格

老师批语:

版权申明:本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论
  • 博主信息
    Blastix Riotz
    博文
    14
    粉丝
    0
    评论
    0
    访问量
    825
    积分:0
    P豆:28