博主信息
博文 12
粉丝 0
评论 0
访问量 13179
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
substr(),strstr(),strpos()函数、str_replace(), substr_replace()、usort()二维数组的排序8月27号
刘永鹏的博客
原创
1219人浏览过

substr(),strstr(),strpos()函数

实例

<?php
/**
 * 三个最基本最常用的子串查询函数
 */
//1. substr($str, $offset, $length):只知道要获取子串的位置,精确查询
$str = 'PHP is the best programming language';

// substr(), 索引从11开始的剩余内容,根据位置查询
echo substr($str, 11), '<br>';
echo substr($str, 11,4), '<br>'; // 区间查询,11开始取4个
echo substr($str, -3), '<br>'; // 区间查询,11开始取4个

//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, $str2, $start);
// 根据内容查询,返回字符串首次出现的位置

运行实例 »

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

QQ截图20180829223345.png

str_replace(), substr_replace()

实例

<?php
/**
 * 字符串查找并替换的二个函数
 */

// str_replace(), substr_replace()
$str = 'Peter Zhu is PHP Lecture';
//1.str_replace()
echo str_replace('PHP', 'JAVA', $str), '<br>';
//删除式替换
echo str_replace('Zhu', '', $str), '<br>';
// 一次性替换多个内容
echo str_replace(['Peter','Zhu','PHP'],'朱老师', $str), '<br>';
echo str_replace(['Peter','Zhu','Lecture'],['彼得','朱','讲师'], $str), '<br>';
// str_ireplace(): 忽略大小写的替换
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>';

运行实例 »

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

QQ截图20180829223509.png

usort()二维数组的排序

<?php
$arr = [45,90,22,10,3,18,33];
usort($arr, function($var1, $var2){
$res = $var1 - $var2;
switch ($res) {
case ($res < 0):
//            return -1;
return 1;  // 降序
break;
case ($res > 0):
//            return 1;
return -1; // 降序
break;
case ($res == 0):
return 0;
break;
}
});
echo var_export($arr),'<hr>';

// usort()多维数组的排序
$stu = [
['name'=>'林心如','grade'=>98],
['name'=>'范冰冰','grade'=>55],
['name'=>'左小青','grade'=>73],
];
//echo '排序之前:',var_export($stu,true),'<hr>';
//用户自定义排序规则
usort($stu, function ($m, $n) {
//$m ,$n实际上还是一个数组
return strcmp($m['grade'], $n['grade']);
});
echo '排序之后:',var_export($stu,true),'<hr>';

//根据数组的键进行排序
$lang = ['html'=>'标记语言','css'=>'样式表','javascript'=>'前端脚本','php'=>'后端脚本'];
ksort($lang);
echo var_export($lang),'<hr>';

$lang = ['html'=>'标记语言','css'=>'样式表','javascript'=>'前端脚本','php'=>'后端脚本'];
krsort($lang);
echo var_export($lang),'<hr>';

//使用自定义的回调函数,对键名进行排序
// 根据键名的第二个字母进行排序
$lang = ['html'=>'标记语言','css'=>'样式表','javascript'=>'前端脚本','php'=>'后端脚本'];
uksort($lang, function($m, $n) {
$a = substr($m,1,1 );
$b = substr($n,1,1 );
return strcmp($a, $b);
});
echo var_export($lang),'<hr>';

QQ截图20180829223626.png

总结

字符串查找并替换的二个函数

str_replace()

substr_replace()

子串查询函数

 substr()

strstr()

strpos()


批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学