php基础知识
一.PHP
1.PHP是什么:
- PHP 代表 : Hypertext Preprocessor
- PHP 文件可包含文本、HTML、JavaScript代码和 PHP 代码
- PHP 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器
- PHP 文件的默认文件扩展名是 ".php"
- 最常用的动态web开发语言 动态网站开发
2.PHP能干什么:PHP 可以生成动态页面内容
- PHP 可以创建、打开、读取、写入、关闭服务器上的文件
- PHP 可以收集表单数据
- PHP 可以发送和接收 cookies
- PHP 可以添加、删除、修改您的数据库中的数据
- PHP 可以限制用户访问您的网站上的一些页面
- PHP 可以加密数据
二.PHP基本语法
- PHP 脚本可以放在文档中的任何位置
- PHP 脚本以 <?php 开始,以 ?> 结束
- PHP 中的每个代码行都必须以分号结束
- 两种在浏览器输出文本的基础指令:echo 和 print(echo -可以输出一个或多个字符串,print -只允许输出一个字符串,返回值总为 1 区别: echo 输出的速度比 print 快, echo 没有返回值,print有返回值1 联系:echo 和 print 都是一个语言结构,使用的时候可以不用加括号,也可以加上括号: echo 或 echo() print或 print() )
三.PHP变量
1.变量名:
- 变量以 $ 符号开始,后面跟着变量的名称
- PHP 没有声明变量的命令
- 变量在第一次赋值给它的时候被创建
- PHP 会根据变量的值,自动把变量转换为正确的数据类型
- PHP 是一门弱类型语言,在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称
- 变量名称组成部分包含字母数字字符和下划线(a-z A-Z 0-9 以及 _ )
- 变量名称必须以字母或下划线开头,不能以数字开头
- 变量名称对大小写敏感($y 与 $Y 是两个不同的变量)
2.变量类型:
String(字符串):可以将任何文本放在单引号和双引号中
Integer(整型):整数是一个没有小数的数字
整数规则:整数必须至少有一个数字 (0-9) 整数不能包含逗号或空格 整数是没有小数点的 整数可以是正数或负数 整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)
Float(浮点型):浮点数是带小数部分的数字,或是指数形式
Boolean(布尔型):布尔型可以是 TRUE 或 FALSE
Array(数组):数组可以在一个变量中存储多个值
Object(对象):对象数据类型也可以用于存储数据 , 在 PHP 中,对象必须声明 , 首先,必须使用class关键字声明类对象 , 类是可以包含属性和方法的结构 , 然后我们在类中定义数据类型,最后在实例化的类中使用数据类型
NULL(空值):NULL 值表示变量没有值 , NULL 是数据类型为 NULL 的值 , NULL 值指明一个变量是否为空值 , 同样可用于数据空值和NULL值的区别 , 可以通过设置变量值为NULL 来清空变量数据
Resource(资源 ):资源是PHP内的几个函数所需要的特殊数据类型,由编程人员来分配
四.PHP运算符
运算符 | 名称 | 描述 | 实例 |
---|---|---|---|
x == y | 等于 | 如果 x 等于 y,则返回 true | 5==8 返回 false |
x === y | 绝对等于(恒等于) | 如果 x 等于 y,且它们类型相同,则返回 true | 5==="5" 返回 false |
x != y | 不等于 | 如果 x 不等于 y,则返回 true | 5!=8 返回 true |
x <> y | 不等于 | 如果 x 不等于 y,则返回 true | 5<>8 返回 true |
x !== y | 绝对不等于(恒不等于) | 如果 x 不等于 y,或它们类型不相同,则返回 true | 5!=="5" 返回 true |
x > y | 大于 | 如果 x 大于 y,则返回 true | 5>8 返回 false |
x < y | 小于 | 如果 x 小于 y,则返回 true | 5<8 返回 true |
x >= y | 大于等于 | 如果 x 大于或者等于 y,则返回 true | 5>=8 返回 false |
x <= y | 小于等于 | 如果 x 小于或者等于 y,则返回 true | 5<=8 返回 true |
3.三元运算符:(简单的分支结构的缩写)
语法格式:表达式1 ? 表达式2 : 表达式3
运算:如表达式1成立,那么执行表达式2,否则执行表达式3
与 && 左边的条件与右边的条件同时成立(两边结果都为true)
或 || 左边的条件或者右边的条件只要有一个满足即可
非 ! 对已有条件进行取反,本身为true,取反结果就是 false
5.字符串运算符: " . "五.PHP三大控制结构
IF语句
if(条件) { 条件为真时,执行的语句} else {条件为假时,执行的语句}
三种形态:
if( 条件 ){ 真,语句 } else { 假, 语句}
if ( 条件 ){ 真, 语句}
if ( 条件 ){ 真, 语句} elseif( 条件 ){ 二条件为真,语句}.....else{ 假,语句};....表示可以多次elseif。
SWITCH语句
switch( 条件 ) {
case 1条件:
语句; break;
case 2条件:
语句; break;
....
default: (这个可以缺省)
默认语句;
}
WHILE语句: while(条件){ 条件为真,执行里面的语句; 条件为假,退出循环 }
DO...WHILE语句:do{ 第一次直接执行循环体,第二次开始,根据条件为真执行,为假退出循环} while(条件)
FOR语句:for( 初始值; 条件; 改变条件的语句) { 循环体中的语句}. 如 for($i=0; $i<8; $i++ ) { echo $i ;}
退出循环体的语句
continue,break;exit 区别:
continue 跳过当前循环,循环还在继续
break 跳出当前循环,循环终止
exit; 终止当前脚本,这行代码后边的代码不执行了
1.字符串:是字符序列,比如 "Hello world!" 字符串可以是引号内的任何文本 可以使用单引号或双引号
字符串查找:
- strpos() 函数:用于检索字符串内指定的字符或文本 如果找到匹配,则会返回首个匹配的字符位置 如果未找到匹配,则将返回 FALSE
- strtolower($str):字母转小写
- strtoupper($str):字母转大写
- ucwords($str):每一个单词的首字母转大写
- ucfirst($str):首字母转大写
- str_replace('a','b',$str):b替换$str 中的a 区分大小写 ;
- str_ireplace('a','b',$str):替换 不区分大小写
- str_ireplace($search, $replace, $string):忽略大小写的去查找并替换
字符串大小写:
- strtolower($string):返回小写之后的字符串
- strtoupper($string):返回大写之后的字符串
- ucwords($string):单词的首字母大写
- ucfirst($string):字符串的单词的首字母大写
- lcfirst($string):字符串的单词的首字母小写
字符串的截取:
- substr($string, $start[, $length]):截取字符串
- substr_replace($string, $replace, $start[, $length]):替换字符串的子串
字符ASCII:
- ord($char):得到指定字符的ASCII
- chr($ascii):根据ASCII得到指定的字符
加密
- md5($string):计算字符串的md5的散列值,返回32位长度的字符串
- sha1($string):计算字符串的sha1的散列值,返回40位长度的字符串
过滤
- trim($string[, $charlist]):默认过滤字符串两端的空格,也可以过滤指定字符串
- ltrim($string[, $charlist]):过滤字符串左端
- rtrim|chop($string[, $charlist]):过滤字符串右端
- strip_tags($string[, $allowTag]):过滤字符串中的HTML标记
- addslashes($string):使用反斜线引用字符串中的特殊字符
- htmlentities($string[, $flag=ENT_COMPAT]):将所有字符转换成HTML实体
- htmlspecialchars($string[, $flag=ENT_COMPAT]):将字符串中的特殊字符转换成HTML实体
- nl2br($string):将字符串中的\n用<br/>替换
比较
- strcmp($string1, $string2):比较两个字符串的大小
- strcasecmp($string1, $string2):忽略大小写的比较字符串的大小
- strnatcasecmp($string1, $string2):使用自然顺序算法比较字符串
- strncasecmp($string1, $string2, $len):比较字符串的开始的若干个字符
拆分/合并
- explode($delimiter, $string):将指定字符串拆分成数组
- implode|join($delimiter, $array):以指定分隔符将数组中的键值连接成字符串
- str_split($string[, $split_length=1]):将字符串转换成数组
格式化字符串
- printf($format[, $args]):格式化输出字符串
- sprintf($format[, $args]):格式化输出字符串
其它常用
- strrev($string):反转字符串
- str_shuffle($string):随机打乱字符串
- str_repeat($string):重复字符串
- str_getcsv($input[, $delimiter=','[, $enclosure=''[, $escape='\']]]):解析CSV字符串为一个数组
- parse_str($str[, $arr]):将字符串解析成多个变量