PHP 总结

PHP基础

PHP概述

PHP (全称:PHP: Hypertext Preprocessor,即"PHP:超文本预处理器") 是一种通用开源脚本语言

  • 目前最流行的网站开发语言

  • 在几乎所有的平台中都可以运行

  • 很多的企业都在使用PHP作为开发语言

PHP介绍

  • PHP是一种类C语言

  • 它混合了C、Java、Perl语言的特点

PHP语言规则

  • PHP脚本可放置于文档中的任何位置

  • PHP脚本以 结尾,语句以分号(; )结尾

  • PHP文件通常包含html标记 及PHP脚本代码,默认扩展名是php

<?php ∥/此处是PHP代码 ?>

PHP对大小写敏感

PHP注释

  • PHP支持三种注释方法:
  1. 单行注释:// 和 #

  2. 多行注释:/* *

PHP 变量

PHP变量规则

PHP输出方法:echo

PHP五种数据类型

PHP运算符

  1. 算术运算符

  1. 字符串运算符

  1. 赋值运算符

  1. 递增递减运算符

  1. 比较运算符

  1. 逻辑运算符

  1. 三目运算符

PHP数组

数组概述

PHP数组介绍

  • PHP数组就是一组数据的集合 ,把一系列数据组织起来,形成一个可操作的整体

  • 数组的每个实体都包含两项:键和值

  • PHP数组分为索引数组关联数组 两类

数组元素的键(key)和值(value)

  • 数组也是变量,需要遵循变量的命名规则

  • 每个数组元素都有一个标号,称为数组元素的键(key),也称索引或下标

  • 每个数组元素都有一个值( value)

数取取值

通过键 (key)获取值(value)

<?php
  $cars = array('Volvo','BMV','Toyota');
  echo 'I like'.$cars[0].'</br>';
  echo 'He likes'.$cars[1].'<br/>';
?>

数组类型

PHP数组分为两类

  1. 索引数组 :key为连续的整数(默认从0开始)

  2. 关联数组 :key为指定的值,通常为字符串

注意:无论哪种数组,使用前必须先创建,创建数组的基本方法是应用array() 函数

索引数组

  1. 创建索引数组
  • 应用array() 函数
<?php $cars = array('Volvo','BMV','Toyota'); ?>
  • 直接为数组各个元素赋值
<?php 
  $cars[0] = 'Volvo';
  $cars[1] = 'BMV';
  $cars[2] = 'Toyota';
?>
  1. 获得数组的长度
  • count() 、**sizeof() ** 函数均返回数组的长度 (元素的个数)
<?php
  $cars = array('Volvo','BMV','Toyota');
  echo count($cars);
  echo sizeof($cars);
?>
  1. 遍历索引数组
<?php
  $cars = array('Volvo','BMV','Toyota');
  for($i=0; $i<count($cars); $i++)
  {
    echo $cars[$i];
    echo '<br/>';
  }
?>

关联数组

  1. 创建关联数组
  • 应用array()函数创建
<?php
  $age = array('Bill'=>35,'Steve'=>37,'Peter'=>43);
  $age['Bill']=
?>
  • 直接为数组各个元素赋值
<?php
  $age['Bill']=35;
  $age['Steve']=37;
  $age['Peter']=43;
?>

注意:键为字符串 时,要用 ' ' 括住,且区分大小写

  1. 遍历关联数组
<?php
  $age = array('Bill'=>35,'Steve'=>37,'Peter'=>43);
  foreach($age as $key=>$value)
  {
     echo '姓名='.$key.'年龄='.$value;
     echo '<br>';
  }
?>

多维数组

<?php
// 二维数组
$cars = array
(
  array("Volvo",100,96),
  array("BMW",60,96),
  array("Toyota",110,100)
);
echo $cars[0][0];
?>

数组基本操作

增加或删除元素

  1. 通过赋值 ,增加数组元素
<?php
  $arrays = array("age"=>25);
  $arrays["name"]="ICQ";
?>
  1. 使用 array_push() 函数追加数组元素(入栈)
  • array_push() 语法:array_push(array, value1, alue2…)

  • 函数的功能是在数组末尾插入一个或多个元素 ,用于以整数为键的数组。

<?php
  $a=array("red","green");
  array_push($a,"blue","yellow");
  print_r($a);
?>

  1. 使用 **array_pop() ** 返回数组的最后一个元素出栈)
  • array_pop() 语法:array_pop(array)

  • 函数是从数组末尾删除 一个元素,用于以整数为键的数组

<?php
  $a = array("red","green","blue");
  array_pop($a);
  print_r($a);
?>

数组排序

PHP函数

函数定义

  • 函数介绍:函数是由多行代码组成的代码块,用于完成某项任务。一般情况下,一个任务需要多次执行,需要定义函数
<?php
  function test()
  {
    echo 'hello word';
  }
  $test();
?>

函数传参

  • 传参介绍

  • 在调用函数时需要向函数传递参数,被传入的参数称为实参,函数定义的参数称为形参

  • 函数间传递参数的形式有三种:1、按值传递 2、按引用传递(传地址) 3、默认参数

  • 按值传递

  • 将实参的值复制到对应形参中,在函数内部针对形参进行操作的结果不会影响到实参 ,即函数返回后,实参值不会改变。

<?php
  function example($m)
  {
    $m = $m*5+10;
    echo "in the function: ".$m;
  }
  $m = 1;
  example($m);
  echo "out the function: ".$m;
?>

//输出
in the function: 15
out the function: 1

  • 默认参数

  • 定义形参时,可以指定某个参数为可选参数 ,将可选参数放在参数列表末尾 ,并指定默认值

<?php
  function example($m,$n="")
  {
    $m = $m+$n;
    echo "in the function: ".$m;
  }
  example(5,6);  // 输出 in the function: 11
  example(5);    // 输出in the function: 5
?>

  • 函数返回值

  • 使用 return 语句返回值;注意:函数定义时不需要声明返回值

<?php
  function example($m)
  {
    $m = $m*5+10;
    return $m;
  }
  echo example(1);  // 输出 15
?>

函数作用域

作用域概述

  • 局部作用域

  • 全局作用域

  • PHP拥有函数作用域:每个函数创建一个新的作用域

  • 作用域决定了这些变量的可访问性(可见性)

  • 函数内部定义的变量从函数外部是不可访问的(不可见的)

全局变量

<?php
  $x=5;
  $y=10;
  function myTest()
  {
    global $x,$y;
    $y=$x+$y;
  }
  myTest();
  echo $y;  //输出15
?>

PHP标准函数库

  • 变量函数库

  • 字符串函数库

  • 时间日期函数

PHP类和对象

创建类和实例化对象

<?php
  class Persion
  {
    var $name;
    function say()
    {
      echo 'myname is'.$this->name;
    }
  }
  $xm = new Persion;  //实例化对象
  $xm->name = '小明'; //对象属性赋值
  $xm->say();         //访问对象成员方法
?>

$this关键字

  • $this关键字是用来访问当前对象中的对象属性和对象方法的系统变量

  • 可以理解为$this是在对象中特殊的一种使用构造函数和变量 的方法

  • 注意:$this仅能在当前对象 中使用

PHP表单处理

GET VS POST

服务端数据接收

  • PHP中有三种变量进行数据的接收

示例代码

<html>
<body>
  <form action=" " medthod="POST">
    username:<input type="text" name="name">
    passwoed:<input type="password" name="pass">
    <input type="submit" name="submit" value="提交">
  </form>
<body>
</html>

<?php
  echo "username: ".$_POST["name"];
  echo "password: ".$_POST["pass"];
?>

PHP文件操作

文件访问技术

  • PHP可对服务器端的文件或文件夹进行操作

  • 对文件的操作包括创建 文本文件、写入 文本文件、读取 文本文件等

  • 对文件夹的操作包括创建、复制、移动或删除 文件夹等

  • 对文件操作的一般流程

相关函数

  • 打开文件

  • 使用 **fopen() ** 打开文件。

  • 文件读取

  • 使用fread() 读取指定长度的字符串。

  • 使用 **fgets() ** 读取文件一行内容。

  • 使用**feof() ** 检测是否已到达文件末尾。

  • 文件写入

  • 使用 **write() ** 函数来写入数据。

  • 关闭文件:

  • 使用 **fclose() ** 关闭文件。

打开文件

fopen() ** 函数**

  • fopen() 函数用来打开文件,打开成功返回一个文件句柄,失败返回false。

  • 语法格式为:fopen(string, filename, string, mode)

  • 举例:

<?php
  $file = fopen("c:\\data\\info.txt","r");
  $file = fopen("/home/file.txt","wb");
?>

  • fopen() 函数 mode 可选值

读取文件

文件读取常用函数

  • fread() 函数

  • 可读取指定长度的文件内容,file为文件句柄

  • 语法格式:fread(file, length)

  • 说明:file:规定要读取打开的文件 length:规定要读取的最大字节数

  • 举例:

<?php
  $file = fopen("test.txt","r");
  $str = fread($file,filesize("test.txt")); // 读取整个文件
  fclose($file);
?>
  • fgets() 函数

  • 用来读取文本文件的一行

  • 语法格式:fgets(file) file:规定要读取打开的文件、

  • 举例:

<?php
  $file = fopen("test.txt","r");
  while(!feof($file))
  {
    $str = fgets($file);  //读取文件中的一行,读取完成后指针会指向下一行
    echo $str."<br>";
  }
  fclose($file);
?>
  • **file_get_contents() ** 函数

  • file_ get_contents() 无须经过打开文件及关闭文件操作 就可读取文件中的全部内容

  • 语法格式:

  • 举例:
<?php
  echo file_get_contents("test.txt");
?>

写入文件

  • **fwrite() ** 函数

  • 可以将一个字符串写入到文本文件中

  • 语法格式:fwrite(file, string, length)

  • 说明:file:必需,规定要写入的文件;string:可选,规定写入文件的字符串;length:可选,规定写入的最大字节数;

  • 举例:

<?php
  $file = fopen("test.txt","w");
  fwrite($file, "Hello World!!");
  fclose($file);
?>
  • file_put_contents() 函数
<?php
  $file = 'log.txt';
  $content = "hello word";
  if(file_put_contents($file, $content, FILE_APPEND))
  {
    echo "success<br>";
  }
  echo file_get_contents($file);
?>

关闭文件

  • **fclose() ** 函数

  • 文件内容读写结束后,必须关闭文件 , fclose0函数用来关闭文件。

  • 语法格式:fclose($file)

注意:文件指针必须有效,并且是通过 fopen() 或 fsockopen() 成功打开的

  • 举例:
<?php
  $file = fopen("test.txt", "r");
  // 执行一些代码
  fclose($file);
?>

复制/移动/删除 文件

文件的复制和删除

<?php
  if(copy('test.txt','/data/bak.txt'))  //复制文件
    echo '文件复制成功';
  else
    echo '文件复制失败';
  unlink('./test.txt');  // 删除文件
?>

获取文件属性

<?php
  $file= 'test.txt';
  echo "<br>文件名:".basename($file);
  $patharr = pathinfo($file);
  echo "<br>文件扩展名: ".$patharr['extension'];
  echo "<br>文件属性: ".filetype($file);
  echo "<br>路径: ".realpath($file);
  echo "<br>大小: ".filesize($file);
  echo "<br>创建日期: ".date('Y-m-d H:i:s',filectime($file);
?>

目录基本操作

PHP操作mysql

PHP访问 MySQL数据库的步骤

  • MySQL是一款广受欢迎的数据库,由于它是开源的半商业软件,所以市场占有率高

  • 备受PHP开发者的青睐,一直被认为是PHP的最佳搭档,且PHP具有强大的数据库支持能力

  • PHP访问 MySQL数据库的般步骤如下:

PHP连接数据库相关函数

  • mysql_connect() 函数

  • mysql_select_db() 函数

  • mysql_query() 函数

  • mysql_fetch_array() 函数

  • mysql_fetch_object() 函数

  • mysql_fetch_row() 函数

  • mysql_num_rows() 函数

  • mysql_close() 函数

示例代码

连接
$conn = mysql_connect(localhost,'root','root');
$result = mysql_select_db('liuyanban',$conn);

插数据
$sql = insert into liuyan(title,content) values('test','test');
if ($result) 
{
  echo "<script>alert('insert data success!!!');window.history.back(-1)</script>";
}
mysql_close();

查数据
$selectsql = 'select * from liuyan order by id desc';
$result = mysql_query($selectsql,$conn);
//var_dump($result);
echo 'username:'.$_SESSION['user'].'<br>';
while($row = mysql_fetch_array($result,MYSQL_ASSOC))
{
  //var_dump($row = mysql_fetch_array($result,MYSQL_ASSOC));
  echo 'title:'.$row['title'].'<br>';
  echo 'content:'.$row['content'].'<br>';
}
mysql_close();

PHP文件包含

包含的概念

include() 函数

require() 函数

include_once() 函数

require_once() 函数

include 与 require 的区别

PHP会话控制

会话控制概述

PHP实现会话控制

Cookie和Session用法

Cookie概述

带有Cookie信息的请求过程

设置Cookie

接收和处理Cookie

删除Cookie

Session

Session概述

Session工作原理

session实现简单会话

Cookie和Session异同点

posted @ 2021-11-08 17:02  FreeK0x00  阅读(107)  评论(0编辑  收藏  举报