PHP 简介
PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。
PHP 脚本在服务器上执行。
PHP 文件必须为英文名,防止出现错误;PHP 代码必须加分号。
- PHP 是 “PHP Hypertext Preprocessor” (超文本预处理器)的缩写。
- PHP 是一种被广泛使用的开源脚本语言。
- PHP 脚本在服务器上执行。
- PHP 可以免费下载和使用。
PHP 文件:
- PHP 文件能够包含文本、HTML、CSS 以及 PHP 代码。
- PHP 代码在服务器上执行,而结果以纯文本返回浏览器。
- PHP 文件的后缀是 “.php”。
PHP 优点:
- 开源
- 能运行于各种平台(Windows,Linux,Unix,Mac OS X 等等)
- 兼容几乎所有的服务器
- 语法简单,极易学习
- 功能强大,能做大型开发
- 能够动态生成web页面内容(php代码可以嵌入到html代码中)
环境搭建
通过XAMPP(Apache+MySQL+PHP+Perl)建站集成软件包来安装。使用XAMPP目的是因为手动安装Apache+MySQL+PHP环境过于复杂,使用XAMPP只需点击安装即可。
XAMPP常见问题
- Apache启动失败:运行sudo apachectl stop
- MySQL启动失败:(1)sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop (2)使用ps-eflgrep mysql查找进程号,通过kill杀掉进程
PHP 基础语法
PHP脚本以<?php开头,以?>结尾:
1 | <?php |
PHP注释:
- 多行注释
- 单行注释
- 文档注释
1 | 1.多行注释 |
变量的声明:
- 变量以$开头,后面跟变量名
- 变量只能由字母,数字,下划线组成,不能以数字开头
- 变量名区分大小写
- PHP 与 JavaScript 类似,不需要实现声明变量的数据类型
1 | $name = "xiaoming"; |
变量的赋值:
- 值赋值:即将赋值表达式的值复制给变量(直接赋值);
- 引用赋值:创建的一个变量与另一个变量引用的内容相同(引用相同地址)。
1 | $var = "hello"; |
变量的变量:
1 | $say = "hello"; |
超全局变量:
PHP提供很多预定义变量,用于提供大量与环境有关的信息
打印/输出超全局变量:print_r($_SERVER);
1.$_SERVER 服务器变量,该全局变量包含着服务器和客户端配置及当前请求环境的有关信息
$_SERVER[‘SERVER_NAME’] : 当前运行脚本所在的服务器的主机名
$_SERVER[‘REMOTE_ADDR’] : 客户端IP地址
$_SERVER[‘REQUEST_URI’] : URL的路径部分
$_SERVER[‘HTTP_USER_AGENT’] : 操作系统和浏览器的有关信息
2.$_GET 该变量包含使用GET方法传递的参数地有关信息
3.$_POST 该变量包含使用POST方法传递的参数地有关信息
4.$_REQUEST 该变量记录着通过各种输入方法传递给脚本的变量,如GET POST,但是不建议使用,因为它不安全而且速度较慢
5.$_COOKIE cookie变量数组
6.$_SESSION 会话变量数组
7.$_FILES 与上传文件有关的变量数组
8.$_ENV 环境变量数组
9.$GLOBALS 所有全局变量数组
常量:
常量是指在程序执行中无法修改的值。
- 在脚本执行期间该值不能改变;
- 常量对大小写敏感,通常常量名总是大写;
- 常量是全局的,可以在脚本的任何地方引用;
- 常量分为内置常量和自定义常量;
- 常量使用define()函数定义。
1 | define('PI',3.1415926,false);//第三个参数:是否对大小写敏感(默认false对大小写敏感;true对大小写不敏感) |
一、内置常量
PHP_OS PHP 所在操作系统的名称
PHP_VERSION 当前PHP 的版本号
二、魔术常量
__LINE__ 文件中的当前行号
__FILE__ 文件的完整路径和文件名
__FUNCTION__ 函数名称
__CLASS__ 类的名称
__METHOD__ 类的方法名
数据类型
标量数据类型
一、字符串
字符串有三种定义方式:单引号,双引号,定界符(heredoc);
单引号字符串中出现的变量不会被变量的值替代;
双引号字符串中最重要的一点是其中的变量会被变量值替代;
如果遇到美元符号($),解析器会尽可能多地取得后面的字符以组成一个合法的变量名,如果想明确的制定名字的结束,用{}把变量名包括起来。
字符串定界的方法使用定界符语法<<<
1 | $str = <<< EOD |
在PHP 定界符中的任何特殊字符,都不需要转义,PHP 定界符中的PHP变量会被正常的用其值来替换。
使用定界符要注意:结束标识符所在的行不能包含任何其他字符,这意味着该标识符不能被缩进,在分号之前、之后都不能有任何空格或制表符。
1 | 字符串转义 |
二、整型(integer)
整型是没有小数的数字。整型必须有至少一个数字(0-9);整型不能包含逗号或空格;整型不能有小数点;整型正负均可;可以用三种格式规定整型:十进制、十六进制或八进制。
三、浮点型(float,double)
浮点数是有小数点或指数形式的数字,分为单精度(float)和双精度(double)
四、布尔型(bool)
布尔型指true或false。
复合数据类型
一、数组
数组在一个变量中存储多个值。
二、对象
特殊数据类型
一、资源
$fh = fopen("text.txt","r");
二、null
null 无,表示没有值,null不表示空格,也不表示0。
以下情况认为是null:
- 没有设置为任何预定义的变量;
- 明确的赋值为null;
- 使用函数unset()清除。
自动类型转换
因PHP 对于类型定义非常的松散,所以有时候会根据引用变量的环境,将变量自动转换为最适合的类型。
1 | $num = 5; |
类型相关函数
1.gettype() 返回变量的类型,可能的值有 string、integer、float、boolean、array、object、null、unknown。
2.is_type() 查看变量是否属于某个类型,是返回TRUE,否返回FALSE。
3.var_dump() 获取变量的值和类型的详细信息。