1.php中预定义变量-php系统预先定义的变量
1.传值中接收数据的变量
$_GET 数据量小 不安全
`经由HTTP GET 方式来传递数据的`
$_POST 数据量大 安全
`经由HTTP POST方式来传递数据的`
$_REQUEST $_GET+$_POST 效率低
$_FILES 上传变量
`经由HTTP POST方式来上传文件的`
2.会话(临时的存储空间)
$_SESSION
`在服务器端保存数据`
$_COOKIE
`在客户端保存数据的`
$_SERVER
`系统的环境信息`
2.PHP中的数据类型
PHP中有8种数据类型
A.基础数据类型(标量类型)
1.字符串 string
必须在"或者'之内的.
例如$str = "abc";
echo $str;//打印出来就是abc
单双引号的区别
双引号""中的代码会执行
单引号''中的代码不会执行,会照普通字符输出
普通字符 转换为 控制符
\n为转义字符(相当于换行)
\r回车
\t水平制表符
\f换页
控制符 转换为 普通字符
需要转换为普通字符的 控制符 加\
" \"
' \'
< \<
2.整型 integer
整型:整数 十进制 八进制 16进制
正整数 负整数 0
3.浮点型 float
代表小数
4.布尔型 boolean
true false
$bl = true;echo $bl// 打印1
$bll = false; echo $bll //不输出
单纯打印的时候 false值为空值
只有参加运算进行比较的时候 false > -1可以看成是0
B.复合类型
1.数组 array
2.对象 object
C.特殊类型:
1.资源 resource
2.空值 null 没有值 (声明变量 赋值" " unset(变量名称))
1. $m = null;echo $m;//没有内容
2. $m = null;$t;echo$m==$t;
//声明变量 空 unset($变量名称)释放变量
3.var_dump() 返回变量的数据类型的
$q1 = 123;echo var_dump($q1);
// 返回 int(123)(是整型的前三个字母)
$q2 = 3.14;echo var_dump($q2);
// 返回 float(3.14)
$q3 = "aaa";echo var_dump($q3);
// 返回 string(3)"aaa"
4.常量:固定不变的量
1.系统常量
PHP_OS 操作系统的信息
PHP_VERSION PHP的版本
PHP_SAPI 运行的版本
2.自定义常量
格式:define("常量名称","常量的值");
define("UNAME","常量的值") echo UNAME//打印出常量的值
常量名称 习惯 全大写
用法:网页上规定不变的内容:比如在工商局的备案号
3.魔术常量
__FILE__D;当前文件的物理路径**
__LINE__;当前行号
__FUNCTION__;当前的函数名
__CALSS__;当前的类名
__METHOD__;当前方法名称
5.文件上传:
form enctype = "multipart/form-data"指定的编码方式
print_r($uImg)打印出的数组说明
Array (
[name] => 1395367871156.jpg //文件的名称
[type] => image/jpeg //文件的mime类型
[tmp_name] => /Applications/XAMPP/xamppfiles/temp/phpShrLIO
//文件临时位置
[error] => 0 //错误信息 0 ok
[size] => 529941 ) //文件大小
move_uploaded_file(临时位置,指定的位置)
使用方法-例
move_uploaded_file($uImg["tmp_name"],"lianxi/.$uImg["name"]")
6.函数
1.数学函数
max 最大值
min 最小值
ceil 进一取整
floor 下舍入
round 四舍五入
rand 产生一个随机数
mt_rand 生成更好的随机数 提高效率
2.日期函数
时间戳
time() 返回当前的Unix时间戳
date("Y-m-d H:i:s") (日期格式,[时间戳])格式化一个本地时间/日期
strtotime 将标准格式转化为时间戳
date_default_timezone_set("Asia/Shanghai")
常用 :设置时区(只提供了上海和重庆)(临时 需要的页面都要写 )
了解 :或者改配置文件(date.timezone = PRC)更改时间 中华人民共和国时间
7.字符串
strlen($变量名) 获取字符串长度
strtolower($变量名) 字符串小写
strtoupper($变量名) 字符串大写
ucfirst($变量名) 字符串中首字母大写
ucwords($变量名) 每个单词首字母大写
strrev($变量名) 翻转字符串(镜像)
trim($变量名) 去掉字符串首尾的空格(空格占字符)
(常用于输入用户名 万一有空格 可以处理掉)
str_replace("原字符","新字符",$变量名) 替换
strpos($变量名,"要查找的字符")查找字符首次出现的位置
(找不到 的就什么都没有)
substr($变量名,从几号字符开始,要截的长度) 截取字符串
md5($变量名)加密函数
unset($变量名) 释放变量(释放后 就没有内容)
8.数组
print_r() 打印数组结构
count()计算数组元素个数的
echo 引用数组元素
数组是变量存储的有序序列
索引数组:下标为数字的数组(可以不连续)
(可以1.下标直接定义 2.array关键字定义)
关联数组:下标是字符串的数组
(可以1.下标直接定义 2.array关键字定义)
二维数组
格式
$frr = array(
array("a",1,"aa"),
array("b",2,"bb"),
array("c",3,"cc"),
);
引用
$数组名称[第一维下标][第二维下标];
9.foreach 循环 遍历数组
格式
foreach(数组名称 as $key=>$val){
循环体
}
$key 依次遍历数组的下标
$val 依次遍历数组的值
遍历: 访问到数组中的每一个元素
10.数组函数
count() 返回数组的元素个数
explode("a",$变量) 用a切割字符串,结果是一个数组,从而取得里面的内容
join("a",$arr) 用a连接数组里的值组成的字符串.implode别名(一样的)
array_values($变量名) 返回数组中的所有值组成的新的 索引数组
array_keys($变量名) 返回数组中下标(键名)组成的新的 索引数组
array_pop($变量名) 将数组最后一个元素删除,返回最后一个元素的值
list(a,b,c) 把数组中的值 赋给对应的变量(对关联无效,对索引有效)
next() 下一个元素
prev() 上一个元素
end() 最后一个元素
in_array("a",$arr) 检查数组中是否存在某个值(返回true false)
array_reverse($arr) 数组前后的顺序翻转
冒泡排序
<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(3,6,14,7,2,20,35); //让0--2位置的元素换位
$tmp = $arr[0];//3
$arr[0] = $arr[2];
$arr[2] = $tmp;
print_r($arr);
echo"<br>----------------冒泡排序---------------<br>";
$brr = array(3,6,14,7,2,20,35);
for ($i=0; $i <count($brr) ; $i++) {
for ($j=$i+1; $j < count($brr); $j++) {
if($brr[$i]>$brr[$j]){
$tmps = $brr[$i];
$brr[$i] = $brr[$j];
$brr[$j] = $tmps;
}
}
}
print_r($brr)
?>
输出结构打印
11.PHP文件库
resource fopen(string $filename,string $mode) 打开文件或者URL
$mode 打开的模式有以下几种.
'r'只读方式打开,将文件指针指向文件头.
'r+'读写方式打开,将文件指针指向文件头.
'w'写入方式打开,将文件指针指向文件头并将文件大小截为0.如果文件不存在则尝试创建之.
'w+'读写方式打开,将文件指针指向文件头并将文件大小截为0.如果文件不存在则尝试创建之.
'a'写入方式打开,将文件指针指向文件末尾.如果文件不存在则尝试创建之.
'a+'读写方式打开,将文件指针指向文件末尾.如果文件不存在则尝试创建之.
文件指针指向文件尾的意思 是光标最后停在末尾
fopen(string $filename,string $mode) 打开文件或者URL
fwrite(resource $handle,string $string) 写入文件 (可安全用于二进制文件)
fclose(resource $handle) 关闭文件 返回布尔 关true
fread(resource,$length) 读取文件
filesize() 取得文件大小
可以创建的文件: .txt .doc .html .php
12.序列换数据 序列化以后的数据可以放入文件中, 方便其他文件读取和调用
serialize()序列化函数:产生一个可存储的表示
string serialize(mixed $value)