body {background-color: #c3c3c3}

php 总结(8) 包含 数组遍历 超全局数组 数组排序 字符串函数

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

  

posted @ 2019-02-14 14:57  最美胡萝卜  阅读(359)  评论(0编辑  收藏  举报
body {background-color: #c3c3c3}