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

mac2022-06-30  84

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() - 以升序对数组排序 改建keyrsort() - 以降序对数组排序  改建keyasort() - 根据值,保持索引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") ?>

  

转载于:https://www.cnblogs.com/nice2018/p/10374627.html

最新回复(0)