当前位置: 首页 > news >正文

php课程 6-22 字符串格式化函数有哪些(精问)

php课程 6-22 字符串格式化函数有哪些(精问)

一、总结

一句话总结:

 

1、猜测一下$_GET()怎么来的?

函数赋值给变量的操作:$_YZM=get();   这样就可以很好的解释哪些全局变量,超全局变量那些

 

2、str_split和explode的区别?

前者固定位数分割,后者以分隔符分割?

 

 

 

 

二、php课程 6-22 字符串格式化函数

4.其他字符串格式化函数

strrev()
strlen()
number_format()
md5()
str_shuffle()

5.字符串的分割与拼接

explode()
implode()
join()
str_split();

6.字符串的截取

substr()

7.字符串的查找

strpos()
strrpos($str,'w')

8.字符串的替换

str_replace()

9.多字节处理函数

mb_substr($str,0,7,"utf-8");

10.路径处理函数

dirname();
basename();
pathinfo();
parse_url();
parse_str();

 

三、php字符串函数总结

 

 

四、代码实例

1、strrev字符串反转

1 <?php 
2 
3 $str='123456';
4 
5 echo strrev($str);
6  ?>

2、number_format数字格式化

1 <?php 
2 
3 $str='1234567890128';
4 
5 echo number_format($str,0,'',',');
6  ?>

自定义数字格式化函数

 1 <?php 
 2 
 3 $str='1234567890128';
 4 
 5 
 6 function nf($str,$var){
 7     $str=strrev($str);
 8 
 9     $arr=str_split($str,3);
10 
11     $str2=join($var,$arr);
12 
13     return strrev($str2);
14 }
15 
16 echo nf($str,',');
17  ?>

md5加密成32位密文

1 <?php 
2 
3 $str='xiaojin456';
4 
5 echo md5($str);
6 
7  ?>

字符串生成验证码

1 <?php 
2 
3 $str='0123456789abcdefghijklnmopqrstuvwxyzABCDEFGHIJKLNMOPQRSTUVWXYZ';
4 
5 echo substr(str_shuffle($str),0,4);
6 
7  ?>

substr字符串截取

1 <?php 
2 
3 $str='0123456789abcdefghijklnmopqrstuvwxyzABCDEFGHIJKLNMOPQRSTUVWXYZ';
4 
5 echo substr($str,-4);
6 
7  ?>

截取路径中的文件部分

1 <?php 
2 $str='/www/myshop/web/index.php';
3 
4 $pos=strrpos($str,'/')+1;
5 
6 echo substr($str,$pos);
7  ?>

从路径中截取目录部分

1 <?php 
2 $str='/www/myshop/web/index.php';
3 
4 $pos=strrpos($str,'/');
5 
6 echo substr($str,0,$pos);
7  ?>

str_replace字符串替换

1 <?php 
2 $str='/www/myshop/web/index.php';
3 
4 echo str_replace('web/','',$str);
5  ?>

basename截取路径中的文件部分

1 <?php 
2 $str='/www/myshop/web/index.php';
3 
4 echo basename($str);
5  ?>

dirname截取路径中的目录部分

1 <?php 
2 $str='/www/myshop/web/index.php';
3 
4 echo dirname($str);
5  ?>

pathinfo目录解析

1 <?php 
2 $str='/myshop/web/index.php';
3 
4 $arr=pathinfo($str);
5 
6 echo "<pre>";
7 print_r($arr);
8 echo "</pre>";
9  ?>

parse_url解析url

1 <?php 
2 $str='http://www.yzmedu.com/myshop/web/index.php?id=10&name=user1';
3 
4 $arr=parse_url($str);
5 
6 echo "<pre>";
7 print_r($arr);
8 echo "</pre>";
9  ?>

$_GET数组实现原理

 1 <?php 
 2 
 3 function get(){
 4     $query=$_SERVER['QUERY_STRING'];
 5 
 6     $arr2=explode('&',$query);
 7 
 8     foreach($arr2 as $val){
 9         $arr3=explode('=',$val);
10         $arr4[$arr3[0]]=$arr3[1];
11     }
12 
13     return $arr4;
14 }
15 
16 $_YZM=get();
17 
18 echo "<pre>";
19 print_r($_YZM);
20 echo "</pre>";
21  ?>

parse_str解析地址参数

1 <?php 
2 $query='id=10&name=user1&age=20';
3 parse_str($query,$arr);
4 
5 echo "<pre>";
6 print_r($arr);
7 echo "</pre>";
8  ?>

 

 

相关文章:

  • java程序员进阶:618大战前夕,一条SQL引发的深思—MySQL优化
  • kafka 发送消息使用反射调用方法
  • kubernetes基础概念(第二节)
  • postMan测试https接口
  • 深入理解javascript系列(七):闭包(1)
  • Spring cloud 安全部署与性能优化
  • GEF入门实例_总结_06_为编辑器添加内容
  • CIKERS Shane 20190605
  • py 6.13
  • Amazon推新送货无人机Prime Air
  • vue-music 关于playlist (底部播放列表组件)
  • 爬虫基础 2.4 会话和cookie
  • Spring boot的简单rest服务(非xml方式配置)
  • Servlet
  • Confluence 6 配置自动备份
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • CSS3 变换
  •  D - 粉碎叛乱F - 其他起义
  • Java 内存分配及垃圾回收机制初探
  • Java|序列化异常StreamCorruptedException的解决方法
  • JDK9: 集成 Jshell 和 Maven 项目.
  • MobX
  • orm2 中文文档 3.1 模型属性
  • Python学习之路16-使用API
  • vue-cli3搭建项目
  • windows下使用nginx调试简介
  • 基于Android乐音识别(2)
  • 技术胖1-4季视频复习— (看视频笔记)
  • 利用jquery编写加法运算验证码
  • 一天一个设计模式之JS实现——适配器模式
  • 原生js练习题---第五课
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • ​​​​​​​​​​​​​​Γ函数
  • ​linux启动进程的方式
  • # 达梦数据库知识点
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • (1)(1.9) MSP (version 4.2)
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (十)T检验-第一部分
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • . Flume面试题
  • ./configure、make、make install 命令
  • .net 7 上传文件踩坑
  • .NET中GET与SET的用法
  • @hook扩展分析
  • @modelattribute注解用postman测试怎么传参_接口测试之问题挖掘
  • []sim300 GPRS数据收发程序
  • [2]十道算法题【Java实现】
  • [Android 13]Input系列--获取触摸窗口
  • [Angular 基础] - 自定义指令,深入学习 directive
  • [BSGS算法]纯水斐波那契数列