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.代码
<?php
echo "OK";
$site="种业圈";
$num=123;
$arr=[1,2,3,4,5];
echo gettype($site)."<br>";
var_export($site);
echo "<br>";
echo var_export($num,true),"<br>";
var_dump($site);
echo "<hr>";
var_dump(is_float($num));
var_dump(is_int($num));
var_dump(is_string($site));
echo "<br>";
var_dump(is_array($arr));
echo "<br>";
class demo {
private $age=20;
}
$obj=new demo();
var_dump(is_object($obj));
var_export([1,2,3]);
echo "<br>";
var_export(is_scalar($site));
echo "临时数据类型转换"."<br>";
var_dump((int)$site);
var_dump((float)$num);
var_dump((string)$num);
var_dump((array)$site);
var_dump((object)$site);
// var_dump($GLOBALS);
echo "<hr>";
echo $_SERVER['PHP_SELF'].'<br>';
echo $_SERVER['SERVER_ADDR'],$_SERVER['REMOTE_ADDR'],$_SERVER['REMOTE_HOST'],$_SERVER['SERVER_NAME'].'<br>';
echo $_SERVER['SCRIPT_NAME'],'<br>';
echo $_SERVER['SCRIPT_FILENAME'],'<br>';
echo $_SERVER['QUERY_STRING'],'<br>';
echo $_SERVER['REQUEST_URI'],'<br>';
echo '^^^^^^^^^^^^^^^^';
echo $_SERVER['PATH_INFO'],'<br>';
const APP="种业圈";
if (!empty(APP)){
define('NAME',"zhongyequan");
echo NAME;
}
2.运行结果