SJphp复习

1 篇文章 0 订阅

开发环境

  • WAMP开发环境:运行PHP WEB应用程序的软件环境,包括Windows客户端的web浏览器,以及服务端的apache、php和mysql数据库等。
  • LAMP开发环境:Linux、Apache、MYSQL、php

HTML表格、表单

在这里插入图片描述
在这里插入图片描述

基础语法

  • 语言标记:php是一种嵌入式脚本语言,XML风格简短风格
    在这里插入图片描述
  1. 标识符
  • 以大写字母、小写字母或下划线_开头
  • 由大写字母、小写字母、下划线_或数字组成
  • 变量标识符区分大小写
  • 用户自定义的类和函数、内置的结构以及关键字(echo、while、class)等不区分大小写
  • 不能使用php保留字或者内置函数名
  1. 数据类型(标量数据类型、复合数据类型、特殊数据类型)
  • 标量数据类型:整型、浮点型、布尔型、字符串

  • 复合数据类型:数组、对象
    在这里插入图片描述

  • 特殊数据类型:资源类型、NULL类型、回调类型

  1. 变量的定义、赋值
  • 可变变量:$$a = “pwd”
  • 引用赋值:$x1 = 3.14; $x2 = & $x1;

流程控制

  1. 顺序结构
    赋值语句、输入输出语句等
  2. 选择结构
    switch语句
  3. 循环结构
    foreach循环
//(1)索引数组
foreach($arr as $value) {
	语句;
}
//(2)关联数组
foreach($arr as $key => $value) {
	语句;
}

函数

  • 函数的调用
//递归调用,出编程题
<?php
	function myprint1(string $param1, int $param2):void {
		echo 'this is print1';
		echo $param1, $param2;
		return ;
	}
	function myprint2($param1,$param2):void {
		echo 'this is print2';
		echo $param1, $param2, '<br>';
		myprint1($param1,$param2);
		return ;
	}
	function myprint3($param1,$param2,...$param):void {
		echo $param1,$param2,'<br>';
		print_r($param);
		echo '<br>';
		myprint2($param1,$param2);
		return ;
	}
	myprint3('a=',100,20,30);
?>
  • 函数的参数传递
    在函数未被调用时,函数的形参并不占有实际的内存空间,也没有实际的值。只有在函数被调用时才为形参分配存储单元,并将实参与形参结合。
    函数的参数传递:就是指形参与实参结合的过程。
    PHP支持函数参数的传递方式有3种,即值传递、引用传递和默认参数。
  1. 值传递
    值传递是指当发生函数调用时,给形参分配内存空间,并用实参来初始化形参,即直接将实参的值传递给形参。

  2. 引用传递
    引用是一种特殊的变量,可以被认为是另一个变量的名字。
    用引用作为形参,在函数调用时发生的参数传递,称为引用传递。
    函数的调用采用引用的参数传递方式,函数调用时传递的是实参的引用,是双向传递过程。
    在这里插入图片描述

  3. 默认参数
    PHP中的函数在定义时,还可以为一个或多个形参指定默认值。
    默认值必须是常量表达式,也可以是NULL,并且当使用默认参数时,任何默认参数必须放在任何非默认参数的右侧。
    在这里插入图片描述

  • 内置函数
  1. getdate()函数获取当前时间
    在这里插入图片描述
  2. date()函数实现时间的格式化
    在这里插入图片描述
  3. bool checkdate(int month, int day, int year)对日期进行有效性检测
  4. int time(void)该函数返回一个整型的时间戳
  5. int mktime(int h, int m, int s, int m, int d, int y)取得该日期的unix时间戳
$today = time();//当前时间戳
$birthday = mktime(0,0,0,10,1,2000);//生日转换成时间戳
$agestamp = $today - $birthday;//时间差
$age = floor($agestamp/(365*24*60*60));//计算年龄

字符串

  • 字符串的输出
    echo、printf()、print_r()、var_dump
echo '中国梦,我的梦!';
echo ('中国梦,我的梦!');
echo '中国梦' , ',' , '我的梦!';
  • 字符串的指定方法
  1. 单引号:不会解析变量,只能用\'和\\两种转义字符
  2. 双引号:会解析变量
  • 字符串常用操作
  1. strlen()获取字符串长度
  2. trim()去除首尾空格及特殊字符
  3. explode()函数将字符串以某种分隔符进行分解,形成多个子字符串,并将这些子串存储于一个数组中。
  4. implode()提供与explode()相反的功能,把数组中几个小的字符串拼接成一个大的字符串。
  5. substr()如果要截取字符串的子串,可以用substr()函数来实现。

在这里插入图片描述

  • 正则表达式
  1. 邮箱匹配
"/^\w+@\w+(\.\w+){0,3}$/"
  1. 正负数匹配
"/^(\-|\+)?\d+(\.\d+)?$/"

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数组

  • 数组分类
  1. 索引数组:数字作为下标
  2. 关联数组:字符串作为索引值

在这里插入图片描述

  • 数组的遍历
    在这里插入图片描述
  • 预定义数组
    在这里插入图片描述
    在这里插入图片描述

页面通信

  • 重定向方式
  1. js脚本
  2. header()函数

在这里插入图片描述

  • Cookie技术
  1. 创建cookie:bool setcookie(string name, string value, int expire)
  2. 使用cookie:$vists = $_COOKIE[‘visits’];
  3. 删除cookie
    (1)setcookie(“visits”);
    (2)setcookie(“visits”, ‘’, time()-1);

在这里插入图片描述

  • session技术
  1. session的注册和使用:
session_start();//启动session
$_SESSION['cart'] = array(array('id'=>1,'name'=>'PHP Web'));//注册一个名为cart的变量并赋值
$item = $_SESSION['cart'][0];//从cart变量数组中取出第一个元素给item
  1. session的销毁和变量的注销
    (1)销毁:bool session_destory();
    (2)注销:unset($_SESSION[‘cart’]);

文件包含

  • include
    include ‘完整路径文件名’
    include(‘完整路径文件名’)
  • require
    在包含文件时,如果没有找到被包含的文件,include语句会发出警告信息,程序继续运行;而require语句则会发出致命错误,程序停止运行。
  • 命名空间
    在这里插入图片描述
    在这里插入图片描述

面向对象

  • 类的成员方法的定义
    在这里插入图片描述
  • 构造方法的声明和使用
function __construct($name, $sex, $age) {
	$this->name = $name;
	$this->sex = $sex;
	$this->age = $age;
}

在这里插入图片描述
在这里插入图片描述

  • 继承
    在这里插入图片描述

  • 接口
    在这里插入图片描述

数据库

  • 数据库连接文件
<?php
	$dsn = "mysql:dbname = test;host = localhost";
	$user = 'root';
	$pwd = 'root';
	try {
		$pdo = new PDO($dsn, $user, $pwd);
	} catch(PDOException $e) {
		echo '数据库连接失败:' . $e.getMessage();
		exit();
	}
?>
  • 使用PDO类的query()方法
<?php
	require_once 'phpmysqlconnector.php';
	$query = "select * from student";
	try {
		$result = $pdo->query($query);
		foreach($result as $row) {
			echo $row['student_no'];
			echo $row['student_name'];
			echo $row['student_tel'];
		}
	} catch (PDOException $e) {
		echo $e->getMessage();
	}
	echo '数据库中共有'.$result->rowCount().'条学生信息!';
?>
  • 使用fetch() / fetchAll()获取数据
<?php
	require_once 'phpmysqlconnector.php';
	$query = "select * from student";
	$stmt = $pdo->query($query);
	$row = $stmt->fetch(PDO::FETCH_NUM);
	while($row) {
		list($sno, $sname, $stel) = $row;
		echo $sno;
		echo $sname;
		echo $stel;
		$row = $stmt->fetch(PDO::FETCH_NUM);
	}
?>

<?php
	require_once 'phpmysqlconnector.php';
	$query = "select * from student";
	$stmt = $pdo->query($query);
	$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
	echo '<table>'.'<tr>'.'<td>学号</td>'.'<td>姓名</td>'.'<td>电话</td>'.'</tr>';
	foreach($rows as $row) {
		echo '<tr>';
		echo '<td>'.$row['student_no'].'</td>';
		echo '<td>'.$row['student_name'].'</td>';
		echo '<td>'.$row['student_tel'].'</td>';
		echo '</tr>';
	}
	echo '</table>'
?>

文件

  • 判断是否是文件
    bool is_file(string $filename)
  • 检验文件或目录是否真的存在
    bool file_exists(string $filename)
  • 读取整个文件的内容(不需要打开/关闭文件)
  1. readfile()
  2. file()
  3. file_get_contents()
  • 上传文件表单
    在这里插入图片描述
    上述代码中,表单的method属性必须为post;enctype属性必须为multipart/form-data,这个值表示要上传二进制数据;表单元素input的type属性必须为file,这样服务器才会将文本框中的数据作为上传文件来处理。
    在这里插入图片描述
  • 写入文件
  1. fwrite()
  2. file_put_contents()
  • 移动与重命名
    rename()

图像

  1. 创建图像
    resource imagecreate(int x, int y)
  2. 颜色
    int imagecolorallocate(resource $image, int red, int green, int blue)
  3. 信息查询
    array getimagesize()
  4. 图像缩放
    bool imagecopyresized()
    bool imagecopyresampled()
  5. 图像旋转
    resource imagerotate()
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值