Blogger Information
Blog 9
fans 1
comment 0
visits 6784
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
第十一课:字符串查询替换函数—2018年8月27日
DDD大鱼
Original
873 people have browsed it

实例

通过字符串函数来查询和修改字符串,常用的字符串函数有:substr()精确查询    strstr()定位查询    strpos()字符串首次出现位置

<?php
//1.substr($str,$offset,$length):只知道要获取子串的位置,精确查询
$str = 'PHP is the best programming language';
$str1 = 'JAVA is the best language';

echo substr($str,11),'<br>';	//substr(),索引从11开始的剩余内容,根据位置查询
echo substr($str,11,4),'<br>';	//区间查询,索引11开始取4个
echo substr($str,-3),'<br>';	//索引从最后一个开始,取3个
echo substr($str,-3,4),'<br>';	//取负数开始时,不再有第三个参数

//strstr($str1,$str2,bool)
$email = 'admin@php.cn';
//查询@是否存在,默认返回@以及后面的内容
echo strstr($email,'@'),'<br>';
// 传入第三个参数:true,仅返回@符之前的内容(不包含@)
echo strstr($email,'@',true),'<br>';
echo strstr($email,'@',true),strstr($email,'@'),'<br>';

// strpos($str1,string,$start):根据内容查询,返回字符串首次出现的位置
echo strpos($str,'best');

运行实例 »

点击 "运行实例" 按钮查看在线实例

sttstr.png

总结:

1、substr($str,$offset,$length)通过位置,或区间精确查询,$offset可为负数(尾部开始)

2、strstr($str,'*')通过已知字符串中的字符来查找,并返回数值或内容

3、strpos($str,string)通过内容查询,返回字符串首次出现的位置


实例

字符串替换,str_replace()可以指定字符更换,也可以通过空字符串来删除

<meta charset="utf-8">
<?php
//str_repalce(), substr_replace

$str = 'PHP is the best programming language';

// 1.str_replace()
echo str_replace('PHP','JAVA',$str),'<br>';
//删除式替换
echo str_replace('the best','',$str),'<br>';
//一次性替换多个内容
echo str_replace(['PHP','best','the'],'老王',$str),'<br>';
echo str_replace(['PHP','best','the'],['JAVA','lonely','wow'],$str),'<br>';
// str_ireplace():忽略大小写的替换
echo str_ireplace('php','JAVA',$str),'<br>';
echo '<hr>';

// substr_replace()
echo substr_replace($str,'PHP是最好的编程语言',0),'<br>';
echo substr_replace($str,'PHP是最好的编程语言',0,strlen($str)),'<br>';

echo substr_replace($str,'PHP中文网',13,0),'<br>';
echo substr_replace($str, 'JAVA',13,3),'<br>';

// 删除式替换
echo substr_replace($str,'',6,3);

运行实例 »

点击 "运行实例" 按钮查看在线实例

8271.png


实例

<?php
header("content-type:text/html;charset=utf-8");
$stu1 = [
	['name'=>'张三','grade'=>99],
	['name'=>'李四','grade'=>50],
	['name'=>'王五','grade'=>70],
];

usort($stu1, function($m,$n){
	return strcmp($m['grade'],$n['grade']);
});
echo '<pre>',var_export($stu1,true),'<hr>';

$stu2 = [
	['name'=>'张三','grade'=>99],
	['name'=>'李四','grade'=>50],
	['name'=>'王五','grade'=>70],
];
usort($stu2, function($m,$n){
	$res = $m['grade'] - $n['grade'];
	switch ($res) {
		case ($res < 0):
			return -1;
			break;
		case ($res > 0):
			return 1;
			break;
		case ($res == 0):
			return 0;
			break;
	}
});
echo var_export($stu2,true);

运行实例 »

点击 "运行实例" 按钮查看在线实例

8272.png


Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post