Blogger Information
Blog 145
fans 7
comment 7
visits 164684
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP基础知识:变量类型检测和转换以及常量和预定义变量
李东亚¹⁸⁰³⁹⁵⁴⁰¹²⁰
Original
917 people have browsed it

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.运行结果

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