博客列表 >PHP基础知识:变量类型检测和转换以及常量和预定义变量

PHP基础知识:变量类型检测和转换以及常量和预定义变量

李东亚¹⁸⁰³⁹⁵⁴⁰¹²⁰
李东亚¹⁸⁰³⁹⁵⁴⁰¹²⁰原创
2021年01月28日 11:01:18914浏览

PHP变量的的命名

1.PHP变量由$和标识符组成,并且区分大小写
2.标识符由字母(a-z,A-Z)数字和下划线组成,禁止数字开头
3.标识符由两类:保留字和关键字以及自定义;在自定义变量时不能使用保留字和关键字做为变量名
4.常见的变量:

  • 自定义变量:$+标识(除保留字和关键字)
  • 常量:不需要$符开头,全部字幕大写
  • 预定义变量:由$符开头,一般都下划线连接后面的单词($GLOBALS除外)

5.变量的命名方式:

  • 驼峰法:中间首字母大写:例如$userName;
  • 蛇形:单词之间通过下划线连接;例如:$get_age;
  • 帕斯卡(大驼峰):所有单词首字母都大写;例如$UserName;

6.变量一般是值传递,如果需要引用赋值是,在需要赋值的变量,在赋值是,在等号右边$前面加&即可引用赋值

数据类型检测和转换

1.数据转换分为:临时转换和强制转换,自动转换
2.获取变量类型函数gettype()获取当前变量的类型;var_dump()同时打印变量的值和类型
3.变量检测函数:

函数 函数作用
is_int() 检测变量是否是整数类型,返回布尔值
is_falot() 检测变量是否是浮点数类型,返回布尔值
is_string() 检测变量是否是字符串类型,返回布尔值
is_array() 检测变量是否时数组类型,返回布尔值
is_object() 检测变量是否是对象类型,返回布尔值
is_null() 检测变量是否是空类型,返回布尔值
is_resource() 检测变量是否是资源类型,返回布尔值
is_numeric() 检测变量是否是有效数值类型的数值和字符串,返回布尔值
is_scalar() 检测变量是否是标量,返回布尔值;标量是指单值的变量,数组\对象\以及空类型都不是标量

4.类型临时转换

临时类型转关键字 作用
(int) 临时转换成整数类型
(string) 临时转换成字符串
(float) 临时转成浮点型
(array) 临时转成数组
(objec) 临时转换成对象

5.强制类型转换:

  • settype($var,”类型字符串”):把变量的值类型强制转化成指定数据类型.强制类型转换是永久型转换

6.自动类型转换

  • 自动类型转换是每一种操作符都有固定的数据类型,不满足是就自动转换

预定义变量

1.常见的预定义变量有:

超全局变量 超全局变量是在全部作用域中始终可用的内置变量
$GLOBALS 引用全局作用域中可用的全部变量
$_SERVER 服务器和执行环境信息
$_GET HTTP GET 变量
$_POST HTTP POST 变量
$_FILES HTTP 文件上传变量
$_REQUEST HTTP Request 变量
$_SESSION Session 变量
$_ENV 环境变量
$_COOKIE HTTP Cookies

2.有关服务器相关的预定义变量:

预定义变量 作用
$_SERVER[‘PHP_SELF’] 获得当前执行脚本文件名:包含路径
$_SERVER[‘SERVER_ADDR’] 获取当前脚本运行在服务器的ip地址
$_SERVER[‘SERVER_NAME’] 获取当前脚本运行在服务的域名:主机名
$_SERVER[‘REQUEST_METHOD’] 访问页面使用的请求方法
$_SERVER[‘REQUEST_TIME’]或$_SERVER[‘REQUEST_TIME_FLOAT’] 请求开始的时间戳
$_SERVER[‘QUERY_STRING’] 获取当前请求的查询字符串
$_SERVER[‘DOCUMENT_ROOT’] 当前运行脚本所在的文档根目录
$_SERVER[‘HTTP_ACCEPT’] 获取当前请求头中的内容
$_SERVER[‘HTTP_REFERER’] 引导用户代理到当前页的前一页的地址
$_SERVER[‘HTTP_USER_AGENT’] 当前请求头中 User-Agent: 项的内容
$_SERVER[‘REMOTE_ADDR’] 浏览当前页面的用户的 IP 地址
$_SERVER[‘REMOTE_HOST’] 浏览当前页面的用户的主机名
$SERVER[‘REMOTE_PORT’] 用户机器上连接到 Web 服务器所使用的端口号。
$_SERVER[‘SCRIPT_FILENAME’] 当前执行脚本的绝对路径。
$_SERVER[‘SCRIPT_NAME’] 包含当前脚本的路径。
$_SERVER[‘REQUEST_URI’] URI 用来指定要访问的页面。例如 “/index.html”。
$_SERVER[‘PATH_INFO’] 包含由客户端提供的、跟在真实脚本名称之后并且在查询语句(query string)之前的路径信息

常量

1.常量定义:

  • 是固定的值,一旦创建不可更新,不可删除
  • 常量不是变量,前面不要加” $ “
  • 常量推荐全部大写,多个单词之间用下划线连接
    2.常量定义的两种方法:
  • 关键字定义:const;实在编译使生成(静态),只支持字面量,不允许表达式
  • define(‘常量名’,常量值):运行阶段生成的变量,在分支语句和函数中定义常量只允许使用define来定义常量

代码练习

1.代码

  1. <?php
  2. echo "OK";
  3. $site="种业圈";
  4. $num=123;
  5. $arr=[1,2,3,4,5];
  6. echo gettype($site)."<br>";
  7. var_export($site);
  8. echo "<br>";
  9. echo var_export($num,true),"<br>";
  10. var_dump($site);
  11. echo "<hr>";
  12. var_dump(is_float($num));
  13. var_dump(is_int($num));
  14. var_dump(is_string($site));
  15. echo "<br>";
  16. var_dump(is_array($arr));
  17. echo "<br>";
  18. class demo {
  19. private $age=20;
  20. }
  21. $obj=new demo();
  22. var_dump(is_object($obj));
  23. var_export([1,2,3]);
  24. echo "<br>";
  25. var_export(is_scalar($site));
  26. echo "临时数据类型转换"."<br>";
  27. var_dump((int)$site);
  28. var_dump((float)$num);
  29. var_dump((string)$num);
  30. var_dump((array)$site);
  31. var_dump((object)$site);
  32. // var_dump($GLOBALS);
  33. echo "<hr>";
  34. echo $_SERVER['PHP_SELF'].'<br>';
  35. echo $_SERVER['SERVER_ADDR'],$_SERVER['REMOTE_ADDR'],$_SERVER['REMOTE_HOST'],$_SERVER['SERVER_NAME'].'<br>';
  36. echo $_SERVER['SCRIPT_NAME'],'<br>';
  37. echo $_SERVER['SCRIPT_FILENAME'],'<br>';
  38. echo $_SERVER['QUERY_STRING'],'<br>';
  39. echo $_SERVER['REQUEST_URI'],'<br>';
  40. echo '^^^^^^^^^^^^^^^^';
  41. echo $_SERVER['PATH_INFO'],'<br>';
  42. const APP="种业圈";
  43. if (!empty(APP)){
  44. define('NAME',"zhongyequan");
  45. echo NAME;
  46. }

2.运行结果

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议