PHP 简述

php,超文本预处理器,是一种通用的开源脚本语言

在一个 php 文件中可以包括以下内容:

  • php 文件可以包含文本、html、JavaScript代码和 PHP 代码
  • php 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器
  • php 文件的默认文件扩展名为 “PHP”

php 的使用

  1. 可以生成动态页面内容
  2. 可以创建、打开、读取、写入、关闭服务器上的文件
  3. 可以收集表单数据
  4. 可以发送和接收 cookies
  5. 可以添加、删除、修改数据库中的数据
  6. 可以限制用户访问网站上的一些页面
  7. 可以加密数据

基本语法格式

1
2
3
4
5
6
7
<?php
phpinfo();
//php语句 (单行注释)
/*
多行注释
*/
?>

变量的命名规范

1、必须以 $ 开始,后面跟变量名

2、必须以字母或者下划线开始

3、变量名智能包含数字字母和下划线

4、 变量名不能包含空格

static 关键字的作用

当一个函数完成时,它里面所有的变量通常都会被删除。

然而有时候你会希望其中某一个局部变量不会被删除。

要做到这一点,就可以在第一次声明这个变量时加一个 static

1
2
3
<?php
static $a =1;
?>

数据类型、常量以及字符串

php 中有5种数据类型: String(字符型)、Interger(整型)、Float(浮点型),Booean(布尔型)、Array(数组)、Object(对象)、NULL(空值)

常量

常量是一个简单的标识符。该值在脚本中不会改变(在整个脚本中都能使用)

一个常量由英文字母,下划线和数字组成,但数字不能作为首字母出现(常量名前不需要加 $ 符号)

define()函数

1
2
3
4
5
6
7
bool define(string $name,mixed $value,[bool $case_insensitive = false])
/*
该函数有三个参数
name : 必选参数,常量名称
value: 必选参数,常量的值
case_insensitive: 可选参数,如果设置为 true ,该常量则 大小写不敏感 默认为 true
*/

预定义常量

php 中预定义了许多常量,这些常量无需使用 define() 函数定义,可直接在程序中使用。

1
2
3
4
5
6
7
8
1. __FILE__      //当前正在处理的脚本文件名,若使用在一个被引用的文件中(include 或者 require),那么 它的值就是被引用的文件,而不是引用它的文件。
2. __LINE__ //正在处理的脚本文件当前行数
3. PHP_VERSION //当前php预处理器的版本 如:5.4.16
4. PHP_OS //PHP当前所在操作系统的类型。如linux
5. TRUE //逻辑真
6. FALSE //逻辑假
7. NULL //表示没有值或者不确定
8. DIRECTORY_SEPARATOR //表示目录分隔符,UNIX或者Linux系统中 为“/”。 windows 中为“\”
整型
1
2
3
4
5
6
7
8
9
10
11
$a = 120; //十进制
$a = 0b110; //二进制
$a = 0120; //八进制
$a = 0x120; //十六进制


decbin(); //十进制转二进制
decoct(); //十进制转八进制
dechex(); //十进制转十六进制
bindec(); //二进制转十进制
bin2hex(); //二进制转十六进制

字符串变量用于存储并处理为文本

正则表达式(PHP)

基本函数

1
2
preg_match_all('/正则代码/','字符串',匹配到的东西放入数组) //匹配字符串
//返回匹配的次数
1
preg_replace('/正则代码/','替换字符串','字符串' )  //替换字符串

正则表达式语法(一)

^ 匹配字符串开始的位置

$ 匹配字符串结束的位置

. 匹配任意单个字符,除换行符

[] 匹配括号内的任意一个字符 // 如[abc]可以匹配’a’,’b’,’c’

[^] 匹配不在括号内的任意一个字符

\d 匹配任意一个数字字符

\D 匹配任意一个非数字字符

\w 匹配任意一个字母,数字或下划线

\W 匹配任意一个非字母,数字或下划线

\s 匹配任意一个空白字符,包括空格,制表符

  •      匹配前面的字符0次或多次
    
  •       匹配前面的字符1次或多次
    

? 匹配前面的字符0次或1次

{n} 匹配前面的字符n次

{n,} 匹配前面的字符至少n次

{n,m} 匹配前面的字符至少n次,最多m次

自定义字符集合

a到z之间的字符集合 [a-z]

1-100之间的字符集合 [1-100]

1-12和a-z之间的字符集合 [1-12a-z]

1,2,3和a-z之间的字符集合 [123a-z]

非集

[^0-9] 匹配任何非数字字符

[^a-zA-Z] 匹配任何非英文字符

修饰符

/i 不区分大小写
/A 匹配规则必须从头开始
/s 将匹配一切字符
/x 正则表达式中的空白字符会被忽略