php基础


学完前端 想试试写个仿站,所以又学了php希望能实现登录注册功能,以下是我的学习笔记

php代码的书写

a. php是一个后端语言
	i.运行需要在apache服务器上运行
	ii.我们要把php文件写在www目录里面
	iii.在浏览器以localhost的形式运行
b. php代码写在一个.php后缀的文件里面
	i. .html后缀的文件不认识php代码
c.每一个php文件,必须要写php标签
	i. 以<?php开头
	ii. 以?>结尾
	iii. 所有的php代码写在这个标签中间
d. php文件不允许使用中文命名
	i. 如果你用的中文
	ii. 那么在服务器上打开的时候就会报错
```
<?php
//简单写一个输出语法,输出一个"hello world"
echo "hello world"
?>
```

php的注释

a. 在php语法里面有两种注释
b. 和js是一样的
	i. // 单行注释
	ii. /* */ 多行注释
c. 额外在php里面还有一种注释
	i. 是以前一直在使用
	ii. 最近开始不推荐使用了
	iii. #表示注释,也是单行注释

php的输出语句

a. 因为php是一个后端语言,输出和前端不一样
	i. 前端输出语法:conlose.log或者alert,就直接反应在浏览器上了
	ii. 后端的语法,是谁找后端要的就给谁
		1. 当浏览器朝php要的时候,那么php的输出语法就把内容给浏览器
		2. 当js这个语言朝php要的时候,那么php的输出语法就把内容给了js
b. php里面的三种输出语法
	i. echo 输出内容
		1. 只能输出基本数据类型,复杂数据类型会报错;
		2. 遇到布尔值的时候,true会输出,false会输出空白内容
	ii. print_r(输出内容)
		1. 可以输出所有数据类型
		2. 遇到布尔值的时候,true会输出1,false会输出空白内容
	iii. var_dump(输出内容)
		1. 可以输出所有数据类型
		2. 遇到布尔值的时候,true会输true,false会输出false
		3. 并且会带有数据的类型和数据的信息

php的变量

a. 在js里面我们定义变量使用var关键字
b. 在php里面,我们定义变量没有关键
	i. 以$开头就表示是一个变量
c. 当我们定义变量的时候
	i. $num = 100
	ii. 变量名叫做$num
	iii. $不是定义变量的关键字,是变量名的一部分
d. 当你要使用变量的时候
	i. 就直接使用$num就可以了

php里面的字符串

a. 在js里面字符串的定义有两种
		i. 单引号
		ii.双引号 
		iii. 这两个没有任何区别
b. 在php里面字符串定义也是两种方法
		i. 单引号: 就是普通字符串
		ii. 双引号: 是一个特殊的字符串,可以字符串里面直接解析变量
c. php里面的字符串拼接
		i. 就是把多个字符串连接在一起
			1. 我们在js里面的时候,使用加号(+)就能进行字符串拼接
			2. 在php里面,加号(+)只能进行数学运算,只有点(.)才能进行字符串拼接
		ii. 书写的时候
			1. 字符串1.字符串2
// 1 单引号
$age = 18;
$s1 = 'i am $age years old';
echo $s1;//就是普通字符串原样输出
// 2 双引号
$s2 = "i am $age years old";
echo $s2;// 输出 i am 18 years old;
// 3 字符串的拼接
echo 'hello world'.'!'.'你好,世界'.'!';

中文乱码问题

a. 问题是怎么来的?
		i. html文件之所以认识中文,是因为有一个charset=utf-8,告诉了浏览器用什么字符集解析文本内容
b. 问题怎么解决
		i. 只要我在输出之前,告诉浏览器你用什么字符串格式来解析文本内容
		ii. 告诉浏览器字符集格式
				1. header(字符集格式)
<?php
//在输出内容之前告诉浏览器你用什么字符串格式来解析文本内容
header('content-type:text/html;charset=utf-8;');

echo "你好,观看这篇文章的朋友们"
?>

php的分支结构

a. 和js一样,有条件分支语句和循环分支语句
		i. 条件分支
				1. if(){}
				2. if(){}else{}
				3. switch(){}
		ii. 循环结构
				1. while(){}
				2. do{}while()
				3. for(){}

php里面的数组

a.js 里面
		i. 数组: [1,2,3,4,5]
		ii. 对象: {name: '靓仔', age: 12}
b. php里面
		i. 关联型数组
				1. 等价于js里面的对象
				2. 语法: $arr = array(key1=>value1,key2=>value2,....)
				3. 注意:
						a. 不管是key还是value,需要用引号包裹,单引号也行,双引号也行
						b. 不可以不包裹,如果不用引号包裹,会呗当做变量来使用
						c. 中间用的是=>,不是; ,也不是 = 
						d. 数字和布尔值,不需要引号包裹,可以直接使用
				4. 获取关联数组里面的某项数组
						a. 数组名称['你要获取的属性名']
		ii. 索引型数组
				1. 等价于js里面的数组
				2. 语法:$arr = array(数据1,数据2,数据3,...)
				3. 是按照索引下标进行排序的
				4. 如果项单独获取数组里面的某个数据
						a. 数组名称[对应的索引]

php的json格式转换

a. 为什么要进行json格式的转换
		i. php里面的关联型数组长得和js里面的对象一样
		ii. array('name'=>'靓女','age'=>18)
		iii. 可以正常传递给前端,但是前端不认识
		iv. 转换成一个中间商的样子,转换成一个大家都认识的东西传递过去
		v. 都认识的东西就是json格式的字符串
		vi. 因为所有的语言json格式是一模一样的
		vii. 为了前后端数据交互
b. php转换json格式的两个方法
		i. 把php的数据格式转换成json字符串
				1. json_encode()
				2. 语法: json_encode(要转换的php数据格式)
				3. 返回值: 转换好的json数据格式
		ii. 把json数组格式转换成php的数据类型
				1. json_decode()
				2. 语法: json_decode(json数据格式)
				3. 返回值: 转换好的php数据格式

php的导入语法

a. 就是把另一个php文件拿到我这里来执行一下
b. 语法:
		i. 在这里比如我们要导入base.php文件
		ii. include "你要导入的文件路径"
c. 目录:
		i. 直接写文件名,表示同级目录
		ii. ./也是表示同级目录,推荐这样写
		iii. ../表示上一级
	<?php
		include "./base.php";
	?>

php语言操作数据库

a. php操作数据库有一个固定的步骤

		1. 连接数据
		2. 执行操作
		3. 解析结果
		4. 断开连接
  1. 建立和数据库的连接
    a. mysqli_connect()这个方法
    b. 语法:mysqli_connect(‘IP地址’,‘数据库用户名’,‘数据库密码’,‘你要操作那个sql文件名’)
    c. 返回值:一个连接信息,我们看不懂,但是php认识
  2. 操作数据库
    a. mysqli_query() 数据库的增删改查都是使用这一个方法
    b. 语法: mysqli_query(数据库连接信息,你要执行的sql语法)
    c. 返回值:就是一个查询结果
  3. 解析结果
    A:
    a. mysqli_fetch_assoc() 只有查询操作需要解析
    b. 语法:mysqli_fetch_assoc(你要解析的数据库查询结果)
    c. 返回值:就是解析好的一个结果,是一个关联型数组
    d. 注意:这个方法只能解析一个数据
    B:
    a. mysqli_fetch_all()
    b. 能把所有的数据都解析出来,放在一个二维数组里面返回
    c. 语法:mysqli_fetch_all(你要解析的数据库查询结果,使用哪种方法解析)
    使用哪种方法解析:MYSQLI_ASSOC
    d. 返回值:是一个二维数组,里面有所有的数据
  4. 断开数据库连接
    a. mysqli_close()
    i. 断开和数据库的连接
    ii. 语法:mysqli_close(连接信息)
  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值