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") ?>