1.include 和require
<?php
include 'head1.php'
?>
include 报错简单 ,require 报错会阻止后面的程序运行
2.数组遍历
foreach 和 list的形式 (while list each遍历数组)
array_push($arr1, $key); 向数组中存值。
$arr1[]=$key;
数组长度 count($arr1)
$arr=[
0=>'user1',
1 =>'20',
5 =>'men'
];
// while (list($k,$v)=each($arr)) {
// echo "$k";
// echo "<br>";
// echo "$v";
// echo "<br>";
// }
foreach ($arr as $key => $value) {
echo "$value";echo "<br>";
}
a.数组随机取值
$arr=[
'name'=>'user1',
'user'=>'20',
'sex' =>'men',
'ss'=>'asd'
];
产生一个新数组 下标数字 只要 value
foreach ($arr as $key => $value) {
$arr1[]= $value;
$tot++;
}
$n=mt_rand(0,$tot-1); 获取0-总数的随机数
echo "<pre>";
打印出 下标对应的值
echo "$n "."$arr1[$n]";
b.获取数组相同值出现次数 以及获取数组唯一值
$arr=[1,2,3,4,5,6,7,1,2,3,1,2,3,5,4,5,6,6,4,3,8,7];
echo "<pre>";
print_r(array_count_values ($arr)); 系统函数直接引用
foreach ($arr as $value) {
$arr2[$value]++; 只要一进来 键值就增加
$arr2[$value]=$value; 获取数组唯一值
}
echo "<pre>";
print_r($arr2);
c.获取数组最大 最小值
<?php
$arr=[3,2,5,2,1,3,7];
function getmax($arr)
{
# code...
for ($i=0; $i < count($arr)-1 ; $i++) {
if ($arr[$i]>$arr[$i+1]) {
$c=$arr[$i+1];
$arr[$i+1]=$arr[$i];
$arr[$i]=$c;
}
}
return $arr[count($arr)-1];
}
echo getmax($arr);
?>
3.超全局数组
1.$_GET 获取地址栏的信息 并且存在数组中
http://127.0.0.1:86/array/quanju.php?id=9&name=ls
print_r($_GET);
Array ( [id] => 9 [name] => ls )
2.$_POST 安全传输数据 不在地址栏显示
3.$_REQUEST 同时可以接收 GET 和POST 的数据
收集数据碰到 多个选项的 用 [ ] 数组的形式收集
4.$_SERVER的7种常用参数
4.数组排序
sort() - 以升序对数组排序 改建key
rsort() - 以降序对数组排序 改建key
asort() - 根据值,保持索引
ksort() - 根据键,保持索引
arsort() - 根据值,保持索引
krsort() - 根据键,保持索引
// natsort($arr);
// 自然数升序排名 保持索引关系 (支持字符串)
// natcasesort($arr);
// 忽略大小写的自然数排序 保持索引关系 (支持字符串)
多数组排序
array_multisort($arr2,SORT_ASC,$arr);
<?php
$arr=[
'aaaa',
'bb',
'ccccccccc',
'ddddddd'
];
foreach ($arr as $key => $value) {
// 用值的长度 来创建一个新数组
$arr2[]=strlen($value);
}
// 大数组 用小数组的关系来排序
array_multisort($arr2,SORT_ASC,$arr);
echo "<pre>";
print_r($arr);
?>
截取数组$arr2=array_slice($arr, 3,5); 不改变原数组
截取数组$arr2=array_splice($arr, 3,5); 改变原数组
array_combine 数组键值合并
array_merge 一个数组合并到一个的后面
$arr2=implode($arr1,'-'); ; 数组用 ''-' 连接成字符串 【 可以用 join 替代】
$arr='2016-1-02';
$arr2=explode('-',$arr); 把字符串拆分为数组
数组总结
// 1.键值操作
// 返回数组中所有的值
$arr=array_values($num);
// 返回数组中所有的键值
$arr=array_keys($num);
// 判断值在不在数组中
$arr=in_array(b,$num);
// 判断索引在不在数组中
$arr=array_key_exists(1,$num);
// 2.统计函数
count($arr);
// 所有值出现的次数
array_count_values($num);
// 删除数组中重复的值
$arr=array_unique($num);
// 3.排序函数
sort(); rsort() ;
// 以降序对数组排序 改建key
asort(); arsort();
// 根据键,保持索引
ksort(); krsort() ;
// 根据值,保持索引
natsort($arr);
// 自然数升序排名 保持索引关系 (支持字符串 严格区分大小写)
natcasesort($arr);
// 忽略大小写的自然数排序 保持索引关系 (支持字符串 不区分)
// 4.截取函数
array_slice($arr, 0,3);
// 下面是剪切函数
array_splice($arr, 0,3);
// 三个一起分割数组
str_split($arr,3);
// 5.拆分合并函数
// 合并字符串
$arr=join($num);
// 以空格的方式把字符串分割为数组
$num="asda asd as daas";
$arr=explode(' ',$num );
// 6.其他函数
$arr=array_pop($num);
// 剪切数组最后一个值
$arr=array_shift($num);
// 剪切数组前面一个值
array_unshift($num, 10);
// 前面插入一个值
array_push($num, 10);
// 最后插入一个数据
shuffle($num);
// 原数组 随机打乱
// 数组求和 求乘积
$arr=array_sum($num);
$arr=array_product($num);
range(1,2000);
// 自动生成1-2000
5.字符串函数:
$str=ltrim($str); 去除首字符串 trim()去除首尾字符串, rtrim()去除尾字符串
$str='|'.str_repeat('-----', 16); 重复输出 横线16次
strtolower() 转小写
strtoupper()转大写
ucfirst()首字母大写
lcfirst()首字母大写
ucwords()每个单词首字母大写
$str=addslashes(htmlspecialchars($_POST['info'])) 数据库防注入
$arr=str_split($str,3); 字符串分割成数组
str_shuffle()打乱数组
substr ( $str, 2,4 ); 返回字符串的子串 一共4个
$pos=strrpos($str, '/') 获取/在字符串中 最后一次出现的位置
str_replace ( "w" , "100" , "$str" ); 替换字符
strip_tags ( $text ); 从字符串中去除 HTML 和 PHP 标记
strip_tags ( $text , '<p><a>' ); 仅仅允许 p 和a标签
addslashes($_POST['info'])留言自动添加转义符
htmlspecialchars() 转实体 标签不展示
htmlspecialchars——decode() 解实体 让标签展示
$arr=str_split(str_shuffle($str),4)[0];
$arr=substr(str_shuffle($str),0,4);
6.路径处理函数
dirname()返回路径中的目录部分
basename — 返回路径中的文件名部分
pathinfo — 返回文件路径的信息
parse_url($str) 解析 URL,返回其组成部分
7.字符串函数
max()
min()
round() 四舍五入
ceil() 进一位取整
floor() 退一位取整
mt_rand(100,999)取随机数
#数学函数
echo ceil(10.555);# 向上取整
echo floor(10.9);# 向下取整
echo mt_rand(0,100);#求随机数
echo round(11.8);#四舍五入
#获取最大值 最小值
echo max(1,3,5,7);
echo min(1,3,5,7);
echo max(array(1,3,300));
#字符串
trim(); #去除两边空格
ltrim();
rtrim();;
strtolower(); #转小写
strtoupper(); #转大写
str_shuffle();#打乱
str_split("Shanghai",3) #字符串分割到数组
substr("Hello world",1,8) #函数返回字符串的一部分
b_substr("驱蚊器", 0, 2,'utf-8');#函数返回字符串支持文字的一部分
str_replace('45','a',$a); #替换字符
$path = "/testweb/home.php";
echo basename($path); #home.php #找路径中的文件名
echo basename($path,".php"); #home
pathinfo(img/index.php);#数组形式返回路径、目录或文件名称。
parse_url# 更详细数组形式返回路径、目录或文件名称。
ucfirst("hello World!"); #首字母大写
ucwords() #每个单词首字母大写
strlen("Shanghai");#字符串长度
number_format("5000000",2,",",".")#格式化货币
strip_tags();#删除 HTML 标签:
htmlspecialchars() #标签不解析 转换实体
htmlspecialchars_decode();#标签解析
$str = "Hello World"; #填充字符串的右侧
echo str_pad($str,20,"."); Hello World.........
#时间函数
#当前年月
echo date("Y-m-d H:i:s");
#当前时间戳
echo time();
#时间戳转换为日期
echo date('Y-m-d H:i:s',1556548708);
#周几
echo date('w');
#日期转时间戳
echo strtotime("2019-03-01")
?>