url:表示我们访问服务器的地址
url的·组成部分:
传输协议:http,https
域名:www.baidu.com
端口:80 443
协议:
规定用户和服务器交互的规则和方式,常见的有http,https,ftp,sftp,tcp…
域名:
为IP地址设置的英文名
端口号:
服务器上设置的·一个文件夹,里面256个文件夹,每个文件夹里面又有256个文件夹,共65536个文件夹,通过0~65535来访问。
地址栏的baidu.com复制下来是:https://www.baidu.com/
注释
PHP注释:
单行://
多行:/**/
单行注释:#
注意点:
- php后缀必须是.php
- 路径不含中文和英文
- php的标记是<?php php代码 ?>
- 全是PHP代码?>可以省略
- 注释和js一致
- 代码结束必须加上分号
输出
echo 123;//输出简单类型
echo "<pre>";//输出复杂类型,这里是为了查看
print_r([1,2,3]);
变量
- php开头的变量用$开头
- 变量的定义要赋值,不然没意义
- 变量要是数字字母下划线,$之后不能是数字
数据类型:
int,float,string,boolean,null(这里是类型,不属于object类)
数组分类:
下标系统给的数字,那就是枚举数组/索引数组
$arr =[1,2,3];
/*
array数据类型
array[1,2,3]{
[0]=>int(1)
[1]=>int(2)
[2]=>int(3)
}
*/
自定义下表的数组关联数组
$a = ["name" =>"张三","age"=>12,isMan =>true];
看上去类似json对象
下面的是对象类型:(不研究,只是一个学前端的)
$a = mysqli_connect("localhost","root","root","test");
object(mysqli)#1对象类型
类型分为简单类型和复杂类型
简单类型:int,float,string,bool,null
复杂类型:array,object
$a = 123;
var_dump($a);//查看数据类型
php中的字符串
单双引号是由一定的区别的
echo "大傻吊";
echo '小沙雕';
#没什么区别
$ccc="ccccc";
echo "abcde$ccc";#双引号能直接解析变量
echo 'abcde$ccc';#单引号不可以
echo "$cccabcde";#报错,未定义cccabcde
echo "$ccc abcde";#又行了
$a ='aaa';
$b ='bbb';
$c=$a . $b;#拼接
echo $c;
#对标签有效
echo "<b>加粗</b>";
echo "<meta charset='utf-8'>";#乱码解决,不建议
header('content-type:text/html;charset=utf8');#建议
$arr =[1,2,3,4];
echo $arr;#报错
echo '<pre>';
print_r($arr);
echo '<pre>';
echo "后面的那个标签可以省略掉";
echo '</pre>';
字符串和数组对象的转换:
数据的传送过程中,对于数据格式是有严格的要求的,能传送的数据格式必须字符串
其他的数据类型必须转为字符串才能传送。
如果传送的是数组,就需要将数组转为字符串
下面的是我们需要知道的
- PHP中
//索引数组转为字符串
$arr =[1,2,3];
$res = json_encoded($arr);//'[1,2,3]'
//关联数组转字符串
$arr =[
"name"=>"张三",
"age"=>12
];
$res = json_encoded($arr);//'{"name":"张三","age":12}'
//下面是PHP接收到json字符串的处理
//关联数组
$str = '{"name":"张三","age":12}';
$res = json_decoded($str,ture);//["name"=>"张三","age"=>12];
//索引数组
$str = '[1,2,3]';
$res =json_decoded($str,true);//[1,2,3]
传到前端的是json字符串,接收到以后,为了处理,需要将json格式转换为对象/数组 才能操作
JOSN.stringify();将接收来的转为json格式
JSON。parse();将要传的转为json字符串
分支语句
- 单分支
if(0){
echo "真的";
}else{
echo "假的";
}
- 多分支
if(1){
echo "真的";
}else {
echo "假的";
}
- switch格式和js的一致
循环语句
for($i = 0;$i <count($arr);$i++){
echo $arr[$i]."<br>";
}
注:没有for(var attr in obj){}
遍历关联数组,php的独特方法
$arr =[
"name"=>"张三",
"age"=>12
]
foreach($arr as $k=>$v){
echo $k.".......".$v."<br>";
}
while和do-while是一样的
下面才是学习阶段常用的:(没有后端的情况下,如何模拟数据传输)
=简单的数据库操作指令
select * from info;//查看info表的所有数据
insert info(name,age,city) values("lisi",11,2);//增
update info set city=2 where id =3;//改
delete from info where id =3;//删除
php连接数据库
//1.连接数据库
四个参数:域名--主机名,用户,密码,库名
$connect = mysqli_connect("localhost","root","root","test");
//2.执行语句
$result = mysqli_query($connect,"select * from info");
参数1:建立好的连接;参数二:要执行的语句
//3.处理结果
$row =mysqli_fetch_assoc($result);
//默认提取数据的时候,一次只能执行一条
//提取多条数据循环使用
$arr =[];
while($row=mysqli_fetch_assoc($result)){
$arr[]=$row;
}
php改数据库数据
//设置请求头
header(“content-type:text/html;charset=utf8”);
//增删改
$con = mysqli_connect("localhost","root","root","test");
$res = mysqli_query($con,"insert info(name,age,city) values('赵六',15,'北京')");
if($res){
//这就是ajax接的数据(echo出来的,只接收第一个echo出来的数据)
echo "
<script>
alert('新增成功');
location.href='http://www.baidu.com';
</script>
"
}else{
echo "失败";
}
一般返回0和1,res不是查询的话,就不是对象
if(res)就是判断修改等是否成功