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