文档分值:0

php >>> php >>> 基础

课程目录

数字操作函数
技巧
时间函数
算法
基础
进阶
php的基本语法

PHP基础

是什么?

服务端脚本语言,专门为 web 而设计,在 HTML 页面中,可以嵌入 PHP 代码,代码在每次页面被访问时执行,PHP代码将在web服务器中被解释并且生成 HTML 或者访问者看到的其他输出。

  • PHP文件能够包含文本、HTML、CSS、PHP 代码

  • PHP代码在服务器中执行,而结果以纯文本返回浏览器

  • 跨平台,兼容各种服务器,支持多种数据库

能做什么?

  1. 生成动态页面
  2. 操作服务器上的文件
  3. 操作数据库
  4. 接收表单数据
  5. 数据加密
  6. 输出多种内容,HTML,图像,PDF。

使用

  • 服务器端 创建.php文件,长传到web目录中,服务器会自动解析。

写法

  • 以 <?php开头,以?>结尾
<?php        
//PHP代码
?>
  • PHP语句以分号结尾
  • PHP代码块的关闭标签?>自动表明分号,所以PHP代码块的最后一行不必用分号

注释

三种:两种单行,一种多行

  1. //单行注释
  2. # 单行注释
  3. /*多行注释*/

大小写敏感?

除了变量,其他的都不敏感

常量

  1. 无法改变
  2. 以字符或下划线开头(没有$)
  3. 自动全局
  4. 定义:
    • define(参数1, 参数2, 参数3(可选));
    • 参数1-->常量名,参数2-->常量的值,参数3-->可选,是否对大小写敏感,默认false--即对大小写敏感

魔术常量(8个)

概念:它们的值随着它们在代码中的位置改变而改变
注:前后都是双下划线

  • __DIR__,脚本文件所在目录
  • __LINE__,文件中的当前行号
  • __FUNCTION__,函数名称
  • __FILE__,,文件的完整路径和文件名,用在被包含文件中,则返回被包含的文件名,总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径)
  • __CLASS__,类的名称
  • __TRAIT__,Trait 的名字
  • __METHOD__,类的方法名
  • __NAMESPACE__,当前命名空间的名称

预定义常量

PHP 的内核中已经定义的常量,包含 PHP、Zend 引擎和 SAPI 模块

  • PHP_VERSION (string)
  • PHP_OS (string)
  • DEFAULT_INCLUDE_PATH (string)
  • ...

变量

  1. 以$开头,后面是变量名
  2. 变量名以字母或下划线开头(不能用数字开头)
  3. 只能包含字母、数字、下划线(A-z,0-9,_)
  4. 变量大小写敏感

  5. 创建变量

    • 没有专门的语句创建变量
    • 首次赋值时被创建
    • 不必声明变量的类型(PHP类型比较松散)
    • PHP会根据变量的值自动转换为正确的数据类型
  6. 变量作用域

    • 变量能够被引用或者使用的那部分脚本
    • 三种
      • local(局部)
      • global(全局)
      • static(静态)
    • global作用域(函数外声明,只能在函数外访问)
    • local作用域(函数内声明,只能在函数内访问)
    • 注:可以在不同的函数中创建同名的局部变量,因为局部变量只在创建它的函数中有效

    • 函数内访问全局变量(变量前加关键词 global):
      • global $x
      • 原理: PHP在名为$GLOBALS[index]的数组中存储了所有的全局变量,下标为变量名,这个数组在函数内也可以访问,并且能够直接更新全局变量
  7. 用 static 关键字保留函数内的局部变量
    • 为了防止函数内的局部标量在函数执行后被销毁
    • 用 static 保留该变量

输出语句

echoprint

  • 两者差异:
    • echo 能够输出一个以上字符
    • print 只能输出一个字符串,并且始终返回 1

数据类型

  1. 查看变量的数据类型
    • var_dump();
    • var_dump($x);
  2. 字符串
    • 引号内的任何文本,单引号或者双引号
  3. 整数
    • 三种格式:十进制,十六进制(0x),八进制(0)
  4. 浮点数
    • 小数点或者指数形式的数字
    • $x = 10.3;
    • $y = 2.4e3;
  5. 逻辑
    • true
    • false
    • 常用于条件测试
  6. 数组

    • $cars = array("Volvo", "BMW", "SAAB");
  7. 对象
    • 存储数据和如何处理数据的数据类型
    • 先声明对象的类(包含属性和方法的结构)
    • 对象类中定义数据类型,然后在该类的实例中使用此数据类型
  8. Null
    • Null 数据类型的唯一可能的值是 null
    • 可以通过把变量设置成 null ,来清空变量

字符串函数

  1. 字符串长度
    • strlen("hello world");
  2. 检索指定字符和文本
    • 匹配的话,返回首个匹配的字符串位置
    • 没有匹配的话,返回 false
    • strpos("hello world", "world");

运算符

  • 算术
  • 赋值
  • 字符串
    • 串接
      .
    • 串接赋值
      .=
  • 递增递减
  • 比较
  • 逻辑
  • 数组运算(用于比较数组)
  • if/else
  • switch
switch    (expression)
{
case    label1:
        code    to    be    executed    if    expression    =    label1;
        break;        
case    label2:
        code    to    be    executed    if    expression    =    label2;
        break;
default:
        code    to    be    executed
        if    expression    is    different    
        from    both    label1    and    label2;
}
1.    对表达式运算
2.    将表达式的值与    case    进行比较
3.    匹配的话,执行
4.    都没有匹配,执行    default    
  • while循环
  • for 和 foreach
    • foreach:
    • 只用于循环数组,并且遍历数组的每个键/值对
      foreach    ($array    as    $value)    {
          code    to    be    executed;
      }
    • 每进行一次循环迭代,当前数组元素的值就会被赋值给 $value 变量,并且数组指针会逐一地移动,直到到达最后一个数组元素。

函数

  • PHP有超过 1000 个内建的函数

  • 自定义函数

    function    functionName()    {
            被执行的代码;
    }
    • 函数名以字母和下划线开头
    • 函数名大小写不敏感
    • 函数参数:任意多个,逗号隔开
    • 默认参数值(调用有参函数却没有传参数时使用)
    • return 返回函数值

数组

  • 创建数组:array()
  • 三种数据类型:
    • 索引数组:带有数字索引
    • 关联数组:指定键的数组
    • 多维数组
  • 数组长度:count();

    • count($arrayName);
  • 索引数组
    • 创建方法(两种):
    • 自动分配:$cars=array("Volvo","BMW","SAAB");
    • 手动指定:```$cars[0]="Volvo"; $cars[1]="BMW"; $cars[2]="SAAB";
  • 关联数组:
    • 使用分配给数组的指定键的数组
    • 创建方法(两种):
    • $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
    • $age['Peter']="35";
      $age['Ben']="37";
      $age['Joe']="43";
  • 遍历数组:
    • 遍历索引数组 for 方法
    • 遍历关联数组 foreach 方法
  • 数组排序
    • 升序:sort();
    • 降序:resort()

超全局变量

在全部作用域内始终可用的内置变量

PHP中有许多超全局的预定义变量

  • $GLOBALS
  • $_SERVER
  • $_REQUEST
  • $_POST
  • $_GET
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION

  • $GLOBALS — 引用全局作用域中可用的全部变量
    • $GLOBALS[index] 的数组中存储了所有全局变量。变量的名字就是数组的键
    • $GLOBALS 这种全局变量用于在 PHP 脚本中的任意位置访问全局变量
  • $_SERVER
    • 保存关于报头、路径和脚本位置的信息
  • $_REQUEST
    • 用于收集 HTML 表单提交的数据

include 和 require

include (或 require)语句会获取指定文件中存在的所有文本/代码/标记,并复制到使用 include 语句的文件中

  • include 和 require 语句是相同的,除了错误处理方面:

    • require 会生成致命错误(E_COMPILE_ERROR)并停止脚本
    • include 只生成警告(E_WARNING),并且脚本会继续
  • include(_once)require(_once)
    • 使用带_once的函数,那么php就会检查你的代码有没有重复包含,避免出现函数或变量重复定义

PHP操作MySQL

连接MySQL

通过 mysql_connect();函数
mysql_connect(servername,username,password);

-    一般只需要这三个参数:        
-    servername        可选。规定要连接的服务器。默认是    "localhost:3306"。
-    username   可选。规定登录所使用的用户名。默认值是拥有服务器进程的用户的名称。
-    password   可选。规定登录所用的密码。默认是    ""。

结束连接

脚本一结束,就会关闭连接。
如需提前关闭连接,请使用mysql_close()函数。

$con = mysql_connect("localhost","peter","abc123");
mysql_close($con);

mysql_query

mysql_query(query,connection):执行一条 MySQL 查询

  • query 必需。规定要发送的 SQL 查询。注释:查询字符串不应以分号结束
  • connection 可选。规定 SQL 连接标识符。如果未规定,则使用上一个打开的连接。
  • 注:如果没有打开的连接,本函数会尝试无参数调用 mysql_connect() 函数来建立一个连接并使用之。

[ 该条目创建时间:2016-06-27 08:18:57 ]