《PHP入门篇之使用教程》
PHP
一种编程语言,常用于web开发、开发网站
<?php echo "hello world"; ?>安装配置
重置端口命令
php变量
$a = 18;
数据类型:int string boolean
变量:
1)以$符号开头
2)a-z A-Z 0-9 _
3)区分大小写
4)数字不能开头
预定义变量
$_GET
$_POST
index.php?abc=1
$f = $_GET[‘abc’];
解决编码:header(‘Content-Type:text/plain; charset=utf-8’);
php数学运算符
-
-
- /(除,不是取整) %
-
数据类型
字符串、整型、浮点型、布尔型、数组、对象、null
案例
被除数/除数 = 商。。。余数
函数
自定义函数(函数名不区分大小写)
系统函数gettype()
json_encode()(将对象、数组转换成json格式字符串)
json_encode(对象);
json_decode()(将字符串转换成对象)
json_decode(json格式字符串变量,true)
function foo($info) {
return $info;
}
内容输出
echo输出简单数据类型
print_r()输出复杂数据类型
var_dump()输出详细信息
比较运算符
= < <= != == === !==
逻辑运算符
&& || .
.----字符串拼接的字符
var_dump(逻辑结构);
^—异或
三大控制结构
顺序 选择 循环
while
for循环
break和continue
break—结束循环
continue—跳过当次循环
字符串
string
单引号和双引号
单引号对于其中的变量当作普通的字符串来处理,
双引号对于变量会解析成数值
字符转义’ \
识别变量
运算速度
数组
$a = array(1 => ‘张三’);
foreach遍历数组
foreach(数组 as $key => $value){}
array_keys(数组);//获取数组的keys(键)
print_r(数组);
foreach(数组 as 值){
//内容
变
量
−
>
i
d
/
/
代
表
变量->id//代表
变量−>id//代表变量的id
}
增加
a
r
r
=
a
r
r
a
y
(
)
;
w
h
i
l
e
(
(
arr = array(); while((
arr=array();while((result = mysqli_fetch_assoc(KaTeX parse error: Expected '}', got 'EOF' at end of input: … //print_r(result);
//
a
r
r
=
a
r
r
a
y
(
arr = array(
arr=array(arr,$result);
$arr[] = $result;
}
array_push(数组, 需要添加的数据);
$arr = array(1,2,3,4,5);
$arr = array(‘a’=> ‘1’, ‘b’=> ‘2’, ‘c’=> ‘3’);
count()内置函数,用来计算数组的长度
array_key_exists(key, 数组)判断数组中是否有key这个值
返回值:存在----1
mysql操作
phpinfo();—查看php相关的配置信息
show warnings;
数组的字符串键名key在sql语句里是不能加引号的
mysqli_connect()
–连接数据库
$result = mysqli_connect(‘localhost’,‘root’,‘root’,‘test’);//返回obj对象(通道对象,通道标识)
面向对象风格
mysqli::__construct()
面向过程化风格
mysqli_connect(url,用户名,密码,数据库库名,端口,..)
设置字符集
//设置字符集,查询mysqli_query(通道对象,查询语言,…);
mysqli_query($result,‘set names utf8’);
//mysqli::query();*/
/*$result = mysql_connect('localhost','root','root');
mysql_query('use test');//选库
mysql_query('set names utf8');
var_dump($result);//通道标识 资源*/
增删改查
-
增
$sql = ‘insert into user(uid,name,age) values(13,“小米”,20)’;
$res = mysqli_query($result,$sql); var_dump($res);
//增
a d d = " i n s e r t i n t o l e a v e m s g ( n a m e , e m a i l , c o n t e n t ) v a l u e s ( ′ add = "insert into leavemsg(name,email,content) values(' add="insertintoleavemsg(name,email,content)values(′_POST[name]’,’ P O S T [ e m a i l ] ′ , ′ _POST[email]',' POST[email]′,′_POST[content]’)";
r e s = m y s q l i q u e r y ( res = mysqli_query( res=mysqliquery(link,$add); -
删
//删
$sql = “delete from user where uid = 13”;
r e s = m y s q l i q u e r y ( res = mysqli_query( res=mysqliquery(result, s q l ) ; v a r d u m p ( sql); var_dump( sql);vardump(res); -
改
//改
/$sql = ‘update user set name = “小号”,age = 15 where uid = 13’;
r e s = m y s q l i q u e r y ( res = mysqli_query( res=mysqliquery(result, s q l ) ; v a r d u m p ( sql); var_dump( sql);vardump(res);/ -
查
//查询
$sql = “select * from user”;
m y s q l i r e s u l t = m y s q l i q u e r y ( mysqli_result = mysqli_query( mysqliresult=mysqliquery(result,$sql);//结果标识(结果对象)for($i=1;$i<7;$i++){ $a = mysqli_fetch_assoc($mysqli_result); //print_r($a); foreach($a as $key => $value){ echo $key,':',$value,'<br/>'; } }
mysqli_fetch_assoc(结果标识);–面向过程风格
mysqli_result::fetch_assoc(void)—面向对象风格
mysqli_fetch_array
–返回关联数组和索引数组的合成数组
mysqli_fetch_assoc
—返回关联数组
实现多行输出
r
e
s
u
l
t
=
m
y
s
q
l
i
f
e
t
c
h
a
s
s
o
c
(
result = mysqli_fetch_assoc(
result=mysqlifetchassoc(res);
while(KaTeX parse error: Expected '}', got 'EOF' at end of input: …){ print_r(result);
r
e
s
u
l
t
=
m
y
s
q
l
i
f
e
t
c
h
a
s
s
o
c
(
result = mysqli_fetch_assoc(
result=mysqlifetchassoc(res);
}
mysqli_fetch_row
—返回由value组成的数组(索引数组)(枚举数组)(数字数组)
函数
-
mysqli_error
–返回上一个MySQL操作产生的文本错误信息
/*
检查出错信息*/ $link = mysqli_connect('localhost','root','root','test'); mysqli_query($link,'set names utf8'); $sql = 'select * frm user'; $res = mysqli_query($link,$sql); //var_dump($res);//false if($res){ var_dump($res); }else { $result = mysqli_error($link); //echo $result; //print_r($result); var_dump($result); exit();//退出 }
-
mysqli_insert_id
–取得上一步insert操作产生的id值
/*
获取主键*/ $link = mysqli_connect('localhost','root','root','test'); mysqli_query($link,'set names utf8'); $sql = 'insert into user(uid) values(8)'; $res = mysqli_query($link,$sql); if(!$res){ echo mysqli_error($link); exit(); } echo mysqli_insert_id($link);//8
-
mysqli_affected_rows
–取得上一步mysql操作产生所影响的记录行数
/*
获取影响行数*/ $link = mysqli_connect('localhost','root','root','test'); mysqli_query($link,'set names utf8'); $sql = 'insert into user(uid) values(9)'; $res = mysqli_query($link,$sql); if(!$res){ echo mysqli_error($link); exit(); } echo mysqli_affected_rows($link);//1
-
mysqli_close
–关闭mysql连接
/*
关闭数据库连接*/ $link = mysqli_connect('localhost','root','root','test'); mysqli_query($link,'set names utf8'); $sql = 'delete from user where uid >= 6'; $res = mysqli_query($link,$sql); if(!$res){ echo mysqli_error($link); exit(); } echo mysqli_close($link);//1 //var_dump($link);//报错
报错级别
屏蔽错误
error_reporting(E_ALL ^ E_DEPRECATED);
notice
–注意
warning
–警告
fatal error
–致命错误
deprecated
–不推荐
fopen(file,mode)
打开文件或URL路径
mode:
r–read
r+读写
w–写
w+读写
a–写
a±-读写
x–写入
x+读写
c–
c±-
opendir(path,…)
打开目录
正则
preg_match_all
<?php $str = "hi,this his histroy"; $pattern = '/hi/'; preg_match_all($pattern,$str,$res);//全局正则匹配 print_r($res);//结果 ?>preg_split( p a t t e r n , pattern, pattern,str)
<?php $str = 'tommorw is another day,o2o ,you dont bird me i dont bird you'; $pattern = '/\W+/'; print_r(preg_split($pattern,$str));//分割字符串 ?>单词匹配
<?php $str = "hi,this is some history book"; $pattern = '/\bhi\b/'; preg_match_all($pattern,$str,$res); print_r($res); ?>preg_replace
<?php $str = 'tommorw is another day,o2o ,you dont bird me i dont bird you'; $pattern = '/\s+/'; preg_replace($pattern,' ',$str);//替换 echo $str; ?>贪婪模式与非贪婪模式
<?php $str = 'ksda good goooood good kl s ja dfs dk'; $pattern = '/g.+d/';//贪婪模式 preg_match_all($pattern,$str,$res); print_r($res); ?> <?php $str = 'ksda good goooood good kl s ja dfs dk'; $pattern = '/g.+?d/';//非贪婪模式 preg_match_all($pattern,$str,$res); print_r($res); ?>后向引用
<?php $str = 'txt hello high bom mum aifjfa bdjhifb cjkjkdfc'; $pattern = '/\b([a-zA-Z])\w+\1\b/';//后向引用 preg_match_all($pattern,$str,$res); print_r($res); ?>\1 引用前面的([a-zA-Z])
-
案例
<?php $str = '13800013800,18610886812'; $pattern = '/(\d{3})\d{4}(\d{4})/';//后向引用 print_r(preg_replace($pattern,'\1****\2',$str)); ?>
curl
<?php $th = curl_init(); curl_setopt($th,CURLOPT_URL,"http://www.baidu.com"); curl_exec($th); curl_close($th); ?>获取百度首页
留言板制作
index.php优先级更高
检测是否有数据提交
$_POST–超全局数组,用来接收表单提交的数据
empty();----检测变量的值是否为空
$_POST方法
//
P
O
S
T
超
全
局
数
组
,
专
门
用
来
接
收
表
单
提
交
过
来
的
数
据
p
r
i
n
t
r
(
_POST超全局数组,专门用来接收表单提交过来的数据 print_r(
POST超全局数组,专门用来接收表单提交过来的数据printr(_POST);//post必须大写
//判断变量是否为空?
var_dump(empty($_POST));//false
$_POST[‘参数’];
引入前台页面
//引入前台页面
require ‘./index.html’;
include(’./meglist.html’);
// 引入数据文件
require(’./selectdata.php’);
地址栏传参
地址栏传参$_GET–超全局数组
header()—跳转
//跳转
header(‘location:meglist.php’);
sublime
介绍
一个代码编辑器,可以编写HTML、PHP、js、css等等文件。
优点
1)跨平台
2)扩展性强
3)体积小,运行速度快
4)支持编译功能,在控制台查看输出
5)支持大量的插件
安装
www.sublimetextcn.com
使用
最常用的
1、新建文件-输入"html:xt"后 按"Ctrl+E键"或 “tab键” ,可快速生成xhtml 1.0的模板
2、新建文件-输入"html:5"后 按"Ctrl+E键"或 “tab键” ,可快速生成HTML5的模板
3、新建文件-输入"!"后 按"Ctrl+E键"或 “tab键” ,可快速生成HTML5的模板
Ctrl+Shift+ [ 折叠代码 (在CSS中表示紧凑格式,在html中为折叠代码)
Ctrl+Shift+ ] 折叠代码 (在CSS中表示扩张格式,在html中为恢复折叠代码)
Ctrl+Shift+C CSS属性排序
Ctrl+Alt+N 快速创建文件(填上文件扩展名可生成模板,例如:demo.html)
Ctrl+Alt+K 刪除不必要的空白
Ctrl+Shift+Alt+F 格式化JS代码
Ctrl+Shift+Alt+M 压缩CSS/JS代码(生成结果为:文件名.min.css、文件名.min.js)
F1 Chrome浏览器预览
F2 Firefox浏览器预览
F3 IE浏览器预览
F4 打开调色盘
F11 全屏
F12 默认浏览器预览
按住鼠标滚轮下拉可多行编辑
Ctrl+D 选词 (反复按快捷键,即可继续向下同时选中下一个相同的文本进行同时编辑)
Ctrl+G 跳转到相应的行
Ctrl+J 合并行(已选择需要合并的多行时)
Ctrl+L 选择整行(按住-继续选择下行)
Ctrl+M 光标移动至括号内开始或结束的位置
Ctrl+T 词互换
Ctrl+U 软撤销
Ctrl+P 查找当前项目中的文件和快速搜索;输入 @ 查找文件主标题/函数;或者输入 : 跳转到文件某行;
Ctrl+R 快速列出/跳转到某个函数
Ctrl+K Backspace 从光标处删除至行首
Ctrl+K+B 开启/关闭侧边栏
Ctrl+KK 从光标处删除至行尾
Ctrl+K+T 折叠属性
Ctrl+K+U 改为大写
Ctrl+K+L 改为小写
Ctrl+K+0 展开所有
Ctrl+Enter 插入行后(快速换行)
Ctrl+Tab 当前窗口中的标签页切换
Ctrl+Shift+A 选择光标位置父标签对儿
Ctrl+Shift+D 复制光标所在整行,插入在该行之前
ctrl+shift+F 在文件夹内查找,与普通编辑器不同的地方是sublime允许添加多个文件夹进行查找
Ctrl+Shift+K 删除整行
Ctrl+Shift+L 鼠标选中多行(按下快捷键),即可同时编辑这些行
Ctrl+Shift+M 选择括号内的内容(按住-继续选择父括号)
Ctrl+Shift+P 打开命令面板
Ctrl+Shift+/ 注释已选择内容
Ctrl+Shift+↑可以移动此行代码,与上行互换
Ctrl+Shift+↓可以移动此行代码,与下行互换
Ctrl+Shift+[ 折叠代码
Ctrl+Shift+] 展开代码
Ctrl+Shift+Enter 光标前插入行
Ctrl+PageDown 、Ctrl+PageUp 文件按开启的前后顺序切换
Ctrl+Z 撤销
Ctrl+Y 恢复撤销
Ctrl+F2 设置/取消书签
Ctrl+/ 注释整行(如已选择内容,同“Ctrl+Shift+/”效果)
Ctrl+鼠标左键 可以同时选择要编辑的多处文本
Shift+鼠标右键(或使用鼠标中键)可以用鼠标进行竖向多行选择
Shift+F2 上一个书签
Shift+Tab 去除缩进
Alt+Shift+1(非小键盘)窗口分屏,恢复默认1屏
Alt+Shift+2 左右分屏-2列
Alt+Shift+3 左右分屏-3列
Alt+Shift+4 左右分屏-4列
Alt+Shift+5 等分4屏
Alt+Shift+8 垂直分屏-2屏
Alt+Shift+9 垂直分屏-3屏
Ctrl+Shift+分屏序号 将当前焦点页分配到分屏序号页
Alt+. 闭合当前标签
Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑
Tab 缩进 自动完成
F2 下一个书签
F6 检测语法错误
F9 行排序(按a-z)
-
快捷键
!+tab键—生成HTML代码
html:5+tab键----生成HTML代码Ctrl+n—新建文件
Ctrl + shift + p----
ctrl + ~----控制台esc----取消
ctrl+shift+h-------格式化代码
ctrl+/------注释单行
Ctrl+shift+/-----注释多行
插件安装
一:直接安装
将插件安装到packages中。
二:
使用package control组件安装
-
package control
sublime软件的插件包管理器
https://packagecontrol.io
在官网复制安装代码text3
在软件控制台粘贴运行-
安装
https://packagecontrol.io
在官网复制安装代码text3
。。。在软件控制台粘贴运行
-
-
插件种类
汉化版插件Chinese、编码插件convertToUTF8、Emmet快速编写HTML和css、IMESupport输入法跟随光标插件、SublimeCodeIntel代码提示插件、SideBarEnhancements侧边栏插件
sublimeServer插件 -
删除插件
remove
Markdown语法
typora
-
大标题
#–
##—
###—粗体
斜体代码片段
···
整段代码
··· -
列表
-代表
-
图片
![图片名称](地址)
-
表格
| 张三 | 李四 | 王五 |
| | | |
| 1 2 3 | | |
XMind: ZEN - Trial Version
本文地址:https://blog.csdn.net/yk_ddm/article/details/109260004
上一篇: python之next和send用法详解