php字符串处理

1、字符串的处理方式(分割匹配找查替换)

//声明一个关联数组,数组名为$lamp, 成员有4个

$lamp = array( 'os'=>'Linux','webserver' =>'Apache', 'db'=>'MySQL', 'language'=>'php' );

//可以解析,双引号中对于数组索引,右方括号(])标志着索引的结束,

//但是注意:不要在[]中使用引号,否则会在引号处结束

echo "A OS is $lamp[os].";

//不能解析,如果在对关联数组下标使用引号就必须使用花括号,否则将出错

echo "A OS is $lamp['os'].";

//可以解析,如果在对关联数组下标使用引号就必须使用花括号,否则将出错

echo "A OS is {$lamp['os']}.";

echo "A OS is {$lamp[os]}."; //可以解析,注意PHP将数组下标看作常量名,并且常不存在时将常量名称转为了字中,效率低

echo "This square is $square->widthmeters broad."; //可以解析,对象中的成员也可以解析

echo "This square is$square->width00 centimeters broad."; //不能解析,可以使用花括号解决

echo "This square is{$square->width}00 centimeters broad."; //可以解析, 使用花括号解决

2、常用的字符串输出函数

Echo()输出字符串 //echo 指令方式可以打印多个值

Print()输出一个字符串  //有返回值、

区别:

Print有返回值 、echo没有

Print不能打印多个值、但echo指令方式可以打印多个值

Echo “aa”,”bb”,”cc”;

Die()  exit()输出一条消息、并退出当前脚本

Printf()输出格式化字符串

Sprint()把格式化的字符串写入一个变量中

Sprint(“%s”, $int);

%% 返回百分比符号

%b  二进制数

%c  依照ASCII值的字符

%d  带符号的十进制数

%e   可续计数法(1.5e3)

%u  无符号十进制数

%f或%F  浮点数

%o   八进制数

%s  字符串

%x或%X   十六进制数

3、字符串处理函数

去除空格和字符串填充函数

Ltrim(string  str[,string charlist])

返回值:字符串

本函数用来删去字符串中的前导空格

Rtrim(string str[,stringcharlist])

返回值:字符串

本函数用来删除字符串的后缀空格

Trim(string  str[,string charlist])

返回值:字符串

截去字符串首尾的空格、本函数返回字符串string 首尾的空白字符去除后的字符串

//声明一个字符串、其中左侧有三个空格、右侧有二个空格、总长度9个字符

$str = “  lamp  ”;

Echo strlen($str);  //输出字符串的总长度为9

Echo strlen(ltrim($str)) //去掉左侧空格后的长度输出为6

Echo strlen(rtrim($str))//去掉右侧空格后的长度输出为7

Echo strlen(trim($str))//去掉二侧空格后的长度输同为4;

$str = “123 This is a test…”;

Echo ltrim($str, “0…9”);//过虑掉字符串左侧的数字、输出为This is a test…

Echo rtrim($str, “.”); //过虑掉字符串右侧所有“.”;输出为:123 Thisis a test

Echo trim($str, “0..9 A..Z”); //过虑掉字符串二端的数字和大写字母还有“.”

输出为:his is a test

Str_pad()按需要对字符串进行填充

语法:

String str_pad(string input, int pad_length,STR_PAD_LEFT)

STR_PAD_LEFT  字符串左添加

STR_PAD_RIGHT 字符串右添加

STR_PAD_BOTH 字符串二端添加

$str =”LAMP”;

Echo str_pad($str, 10);  //指定长度为10、默认空格在右边填补“LAMP”;

Echo str_pad($str, 10,”---”,STR_PAD_LEFT)//指定长度为10、 指定在左边填补“---lamp”;

Echo str_pad($str, 10, “--”,STR_PAD_BOTH)//指定长度为10、指定二端填补“---lamp---”

Echo str_pad($str,6,”--”,STR_PAD_RIGHT);//指定长度为6、默认在右边填补“lamp--”;

字符串大小写的转换

Strtolower(string)//将string全部变成小写字符

Strtoupper(string)//将string全部就成大写字符

Ucfirst(string)//将字符串第一个字符改大写

Ucwords(string)//将字符串每个字符第一个字母改大写

4、和html标签相关联的字符串格式化

Htmlspecialchars()把预定义的字符""(大于)转换为HTML实体

Stripslashes()函数删除由addslashes()函数添加的反斜杠

Addslashes()在每个双引号(")前添加反斜杠

Title:

If(isset($_POST[‘dosubmit’])){

$title= $_POST[‘title’];

Echo stripslashes(addslashes($title)).”
”;

Echo htmlspecialchars($title);

}

?>

Strip_tags()函数剥去字符串中的HTML、XML以及PHP的标签

strcmp(string1,string2)比较两个字符串(区分大小写)

本函数返回:

0  如果两个字符串相等

-1  如果 string1 小于 string2

1   如果 string1 大于 string2

Strcasecmp(string1,string2)比较两个字符串、不区分大小写(用法同上)

按自然顺序排序(用法同上)

Strnatcmp(string1,string2)区分大小写

Strnatcasecmp(string1,string2)不区分大小写

一、不用php函数、用方法写一个反转字符串的函数

$str = "www.bitedy.com";

function fan($str){

$n= "";

$m= strlen($str)-1;

for($i=$m;$i>0; $i--){

$n.=$str{$i};

}

return $n;

}

echo fan($str);

//echostrrev($str); 返转字符串、显示为:moc.ydetib.www

二、写一函数将字符串进行三个分组

$str = "1234567890";

function nformat($str){

$n= ""; //临时的变量

$m= strlen($str);//获取字符串长度

$k= $m % 3;//让整个长度和3取余之后余数是多少=0

for($i=0;$i

if($i%3== $k && $i!=0){

$n.=",";

}

$n.=$str{$i};

}

return $n;

}

echo nformat($str);

显示为:1,234,567,890

三、请写一个获取文件扩展名的函数

function Demo($str){

if(strstr($str, "?")){

list($file,$act) = explode("?",$str);

}else{

$file= $str;

}

$n = strrpos($file,"/")+1;

$filename = substr($file,$n);

$arr = explode(".",$filename);

echo array_pop($arr)."
";

}

Demo("http://www.bitedy.com/www/nat/init.inc.php?username=100");

Demo("http://www.bitedy.com/www/nat/init.inc.php");

Demo("C:/www/nat/init.inc.php");

Demo("init.inc.php");

Demo("/www/nat/init.inc.php");

显示为:php php php php php

strstr(string,search,before_search)搜索字符串在另一字符串中的第一次出现(区分大小写stristr不区分大小写)

string 必需。规定被搜索的字符串。

Search必需。规定所搜索的字符串。

Before_search可选。默认值为"false"的布尔值。

如果设置为"true",它将返回search参数第一次出现之前的字符串部分。

explode(separator, string,limit)把字符串打散为数组

separator必需。规定在哪里分割字符串。

String必需。要分割的字符串。

大于0 -返回包含最多limit个元素的数组

小于0 -返回包含除了最后的-limit个元素以外的所有元素的数组0 -返回包含一个元素的数组

strrpos(string,find,start)查找字符串在另一字符串中最后一次出现的位置。

String必需。规定被搜索的字符串。

Find必需。规定要查找的字符。

Start可选。规定在何处开始搜索。

substr(string,start,length)返回字符串的一部分

string 必需。规定要返回其中一部分的字符串。

Start必需。规定在字符串的何处开始。

正数-在字符串的指定位置开始

负数-在从字符串结尾开始的指定位置开始

0 -在字符串中的第一个字符处开始

Length 可选。规定被返回字符串的长度。默认是直到字符串的结尾。

正数-从start参数所在的位置返回的长度

负数-从字符串末端返回的长度

array_pop(array)弹出并返回array数组的最后一个单元

四、写一个函数、算出二个文件的相对路径

error_reporting(E_ALL & !E_NOTICE);

function ab($a, $b){

$a= explode("/", trim(dirname($a), "/"));

$b= explode("/", trim(dirname($b), "/"));

$n= max(count($a),count($b));

for($i=0;$i

if($a[$i]==$b[$i]){

unset($a[$i]);

unset($b{$i});

}else{

break;

}

}

$path = str_repeat("../",count($b)).implode("/", $a);

return $path;

}

$a = "/a/b/y/12/14.php";

$b = "/a/b/c/d/11/y/24.php";

echo ab($a, $b);

显示为:../../../../y/12

微信扫一扫 、关注公众号

不定时分享资料视频

php字符串处理方法,PHP系列(五)PHP字符串处理相关推荐

  1. java 中字符串比较方法_java中常用的字符串的比较方法(两种)

    比较字符串比较常用的两个方法是运算符"="和String的equals方法. 使用"="比较两个字符串,是比较两个对象的的"地址"是否一致, ...

  2. js笔记(三)ES5、ES5新增的数组的方法、字符串的方法、字符编码、对象的序列化和反序列化、bind

    数组方法.字符串方法总结 大目录 小目录 一.ES5严格模式 1. 严格模式: 2. 严格模式的行为变更: 二.ES5新增的数组的方法 1. 判断是否为数组:Array.isArray(): 2. 判 ...

  3. java字符串string_Java字符串String方法总结

    Java字符串创建与初始化实例.Java字符串String方法总结,包括字符串的大小写替转换,获取字符串长度的方法.截取字符串,去除字符串中的空格.StringBuffer类转换成String类等: ...

  4. 第3.8节 Python百分号占位符的字符串格式化方法

    一.    概念         格式化字符串就是将一些变量转换为字符串并按一定格式输出字符串,包括指定字符的位置.对齐方式.空位补充方式等.Python提供了多种字符串格式设置方法.本节先介绍一种简 ...

  5. python字符串find函数-Python字符串的方法,查找和替换

    Python数字 整型 int 如:1 4 8 浮点型 float 如:1.0 3.6 78.9 长整型 long 如:1L 37565846588L(在一个整数后面加上L就是长整型,理论上长整型的长 ...

  6. NSString的形式--可变字符串--查方法

    NSString上一章我们讲解了如何在父字符串中提取它的一部分作为一个新的子字符串而存在, 今天我们就来讲讲怎么知道子字符串在父字符串中的位置, 以及长度是多少. 这里使用的方法: NSRange: ...

  7. mysql 语法 日期转换成字符串_mysql日期转换成字符串的方法

    mysql日期转换成字符串的方法 发布时间:2020-04-29 09:41:00 来源:亿速云 阅读:178 作者:小新 今天小编给大家分享的是mysql日期转换成字符串的方法,相信很多人都不太了解 ...

  8. java 拼接字符串的方法

    1.拼接字符串的方法,先要将字符串转化为数字类型,再根据需要拼接.这样可以避免直接拼接导致的错误. 2.将字符串转化为数字类型,这个就是一个循环.可以使用循环的方法,但是循环次数不宜太多,否则容易出错 ...

  9. php找相似的字符串,php查询相似字符串的方法

    PHP如何在字串池中匹配出相似度最高的字符串?本文主要介绍了php查询相似度最高的字符串的方法,涉及php操作字符串及数组实现相似度算法的技巧,希望对大家有所帮助. 根据传入的字符串和数组,返回数组中 ...

最新文章

  1. OSS.Core基于Dapper封装(表达式解析+Emit)仓储层的构思及实现
  2. Android开发3g、wap、net的区别
  3. torch转onnx错误 exit code -1073741819
  4. python表白对话框-python文件选择对话框的操作方法
  5. Java Map集合面试题汇总
  6. django分页-Paginator类
  7. 最新Activity与Fragment完全理解
  8. Java连接数据库访问失败
  9. python MySQL操作(增删改查)
  10. canvas贝塞尔曲线爱心_贝塞尔曲线之爱心点赞代码全解析!| CSDN 博文精选
  11. CS 251 Assignment 12 知识点总结与注意
  12. android9原生体验,原生安卓必备软件 优化类原生ROM体验
  13. Airbnb如何应用AARRR策略成为全球第一民宿平台
  14. 三维模型是什么?3D建模都有什么用处?
  15. 关于员工激励的思考-期望理论
  16. ZY Player 2.8.3 中文版 (全网视频播放器)
  17. python turtle 绘图小猪佩奇,Python使用turtle库绘制小猪佩奇(实例代码)
  18. 今天我是如何10分钟完成30万售后单问题分类的
  19. Ubuntu17.04+Nvidia GT 640LE+CUDA9.0+cuDNN7.05+Tensorflow1.5r0(GPU)+Anaconda5.01(python3.6)安装
  20. ElasticSearch搜索时不算分API

热门文章

  1. human36m 3d姿态可视化
  2. C++里已知三个三维点,求他们的平面方程,怎么做?
  3. 双软件认证的两项税收优惠政策是什么?
  4. 加工中心逆变器散热风扇故障_西门子840D车床加工中心231885故障S120维修
  5. [框架]PureMVC--核心层源码
  6. c语言实验一,c语言实验-实验一.doc
  7. c语言中printf的转义字符,C语言Printf格式
  8. ad15原理图中变压器种类_最简单的变压电路图大全(十一款最简单的变压电路设计原理图详解) - 全文...
  9. 程序员表白专用: 5 种实用表白方法!帮你快速攻陷心仪女生
  10. 如何快速地将CAD转换成Excel?