目录
php概述
php是一门用于开发网站的,运行在服务器端(也就是后端的)解释型编程语言(意味着php不需要编译就可以运行)。php的运行需要环境,建议在学习的时候用windows直接下载phpstudy学。
php基础
从哪开始算php代码?
php代码需要写在<?php ......?>中, .....为写php代码的位置。
php代码需要指令分隔符
这意味着每一条语句结束都需要用;英文分号结尾
php注释
单行注释:
1. // 注释一行
2. # 注释一行
多行注释:
/*.....*/ 注释多行
简单的php输出语句
这里的输出是输出到前端页面,也就是用户浏览器页面
1. phpinfo; 用于输出php配置信息
2. echo; 用于输出变量值3.var_dump(); 用于输出变量值及其变量类型
php变量
声明一个变量
$美元符号 + 变量名 = 变量值 例如:$a = 2;
释放一个变量
unset()
变量类型(然而大部分情况下不用声明变量类型,以下只是说在存储的时候有这些)
1.布尔类型: true和flase
2.int 整型
3.float 浮点型
4.字符串 string
5.数组 array[]
6.对象 object
php运算符
算数运算符
取反:- $a = 10; 则 -$a = -10
加减乘除:+ - * /
取模(取余数):%
逻辑运算符
非 !
与 and &&
或 or ||
异或 xor 不同为真,相同为假
比较运算符
比较参与运算的单元是否相同,相同为真,不同为假
== 只比较值而不比较类型(重点内容)
=== 对类型也会进行比较,只有类型和值都相等才为真(重点内容)
>
>=
<
<=
!=
!==
<> 不等于
字符串运算符
. 连接符,用于连接字符串例如:echo "hello" . "world";
则会在前端页面输出helloworld
赋值运算符
=
+=
-=
*=
/=
%=
.=
其他运算符
?: 三元运算符 例子:$a = false ? 10 : 20; echo $a; 输出:20
`` 反引号:将字符串当作命令执行
@屏蔽错误显示(重点)
php流程控制
分支结构
1.单向分支
if(判断条件){执行语句};
2.双向分支
if(判断条件){执行语句}
else{执行语句}
3.多分支
1. if(){}
elseif(){}
elseif(){}
elseif(){}
2.switch(变量){
case xxx:
.......
case xxx:
.......
defalut ....
}
循环结构
1.while(条件){执行语句} 当满足条件时执行
2.do{....}while(条件) 先执行一次再判断
3.for(xxx;xxx;xxx)
特殊流程控制语句
break 跳出循环
break 2 跳出两层循环
continue 跳过本次循环
exit() 结束脚本执行
die() 结束脚本执行
php数组
数组是一个能在单个变量中存储多个值的特殊变量
php数组特点:数组的key可以是字符串,而values可以是任意类型
php数组类型
数值数组 带有数字 ID 键的数组
关联数组 带有指定的键的数组,每个键关联一个值
多维数组 包含一个或多个数组的数组
数组定义
arrary();
举例:$me = array("handsome","clever","prettyGood");
php函数
php函数定义
语法
function _functionName_()
{
_要执行的代码_;
}
php函数调用
functionName_() ;(有参函数传参,无参函数直接掉)
php面向对象
php类定义
<?php
class phpClass {
var $var1;
var $var2 = "constant string";function myfunc ($arg1, $arg2) {
[..]
}
[..]
}
?>
- 类使用 **class** 关键字后加上类名定义。
- 类名后的一对大括号({})内可以定义变量和方法。
- 类的变量使用 **var** 来声明, 变量也可以初始化值。
- 函数定义类似 PHP 函数的定义,但函数只能通过该类及其实例化的对象访问。
php构造函数
构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。
语法格式:
void __construct ([ mixed $args [, $... ]] )
php折构函数
析构函数
析构函数(destructor) 与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数。
PHP 5 引入了析构函数的概念,这类似于其它面向对象的语言,其语法格式如下:
void __destruct ( void )
php超级全局变量
什么是超级全局变量?
PHP中预定义了几个超级全局变量,超级全局变量指的就是无需说明就可以在脚本的全部作用域中使用
超级全局变量列表
$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
部分超级全局变量
$GLOBALS
$GLOBALS 是PHP的一个超级全局变量组,在一个PHP脚本的全部作用域中都可以访问。
$GLOBALS 是一个包含了全部变量的全局组合数组。变量的名字就是数组的键。
PHP $_SERVER
$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。
PHP $_REQUEST
PHP $_REQUEST 用于收集HTML表单提交的数据。POST和GET方法提交都可以收集PHP $_POST
PHP $_POST 被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="post"。PHP $_GET
PHP $_GET 同样被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="get"。
php_Cookie
Cookie 是什么?
cookie 常用于识别用户。cookie 是一种服务器留在用户计算机上的小文件。每当同一台计算机通过浏览器请求页面时,这台计算机将会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。
如何创建 Cookie?
setcookie() 函数用于设置 cookie。
**注释:setcookie() 函数必须位于 <html> 标签之前。
### 语法
setcookie(name, value, expire, path, domain);
名字 值 存活时间
在下面的例子中,我们将创建名为 "user" 的 cookie,并为它赋值 "php"。我们也规定了此 cookie 在一小时后过期:
<?php
setcookie("user", "php", time()+3600);
?>
**注释:**在发送 cookie 时,cookie 的值会自动进行 URL 编码,在取回时进行自动解码。(为防止 URL 编码,请使用 setrawcookie() 取而代之。)
如何取回 Cookie 的值?
PHP 的 $_COOKIE 变量用于取回 cookie 的值。
如何删除 Cookie?
当删除 cookie 时,您应当使过期日期变更为过去的时间点。
删除的实例:
<?php
// 设置 cookie 过期时间为过去 1 小时
setcookie("user", "", time()-3600);
?>
php_Session
PHP Session 变量
您在计算机上操作某个应用程序时,您打开它,做些更改,然后关闭它。这很像一次对话(Session)。计算机知道您是谁。它清楚您在何时打开和关闭应用程序。然而,在因特网上问题出现了:由于 HTTP 地址无法保持状态,Web 服务器并不知道您是谁以及您做了什么。
PHP session 解决了这个问题,它通过在服务器上存储用户信息以便随后使用(比如用户名称、购买商品等)。然而,会话信息是临时的,在用户离开网站后将被删除。如果您需要永久存储信息,可以把数据存储在数据库中。
Session 的工作机制是:为每个访客创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,或者通过 URL 进行传导。
开始 PHP Session
**注释:**session_start() 函数必须位于 <html> 标签之前:
<?php session_start(); ?>
<html>
<body>
</body>
</html>
php_Mysql连接
PHP连接 MySQL
在我们访问 MySQL 数据库前,我们需要先连接到数据库服务器:
两种连接方式:
1.实例 (MySQLi - 面向对象)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
// 创建连接
$conn =
new mysqli($servername, $username, $password);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}else echo "连接成功";
?>
2.实例 (MySQLi - 面向过程)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
// 创建连接
$conn = mysqli_connect($servername,
$username, $password);
// 检测连接
if (!$conn) {
die("Connection
failed: " . mysqli_connect_error());
}else echo "连接成功";
?