strstr查找替换 php,三个最基本最常用的子串查询函数substr(),strstr(),strpos()实例和字符串查找并替换的二个函数str_replace(),substr_replace...

1、以下代码主要介绍了substr(),strstr(),strpos(),子串查询的三个常用函:

实例

// 1. substr($str, $offset, $length):只知道要获取子串的位置,精确查询

$str = 'My name is coolper';

// substr(), 索引从11开始的剩余内容,根据位置查询

echo substr($str , 11),'
';

echo substr($str, 11,4),'
';

echo substr($str, -3),'
';//负数代表从尾部取3个数

//2.strstr($str1, $str2,bool)

$email = 'example@php.cn';

echo strstr($email, '@'),'
';//只有两个参数,查询@是否存在,默认返回@以及后边的内容

echo strstr($email, '@',true),'
';//传入第三个参数:true,仅返回@符之前的内容(不包含@)

// 3.strpos($str1, $str2, $start): 根据内容查询,返回字符串首次出现的位置

echo strpos($str, 'is');

?>

运行实例 »

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

运行截图:

a623e0988f9cec265acaa8e3eb8813ed.png

说明:子串查询函数主要是添加不同的参数来达到对应的目的,1.substr($str, $offset, $length):只知道要获取子串的位置,精确查询,当第三个参数为负值时,代表从尾部开始取对应的几个值;2.strstr($str1, $str2,bool):当默认有两个参数时,代表从所选字符的后边取全部的内容(包括当前所选),当添加第三个bool参数true时,代表从所选字符的前边取全部的内容(不包括当前所选);3.strpos($str1, $str2, $start): 根据内容查询,返回字符串首次出现的位置。

2、以下代码主要介绍了字符串查找并替换的二个函数,str_replace()和substr_replace():

实例

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

$str = 'My name is Mr. coolper';

//1.str_replace();

echo str_replace('Mr.', 'Mis.', $str),'
';//替换

echo str_replace('Mr.', '', $str),'
'; //删除式替换

//一次性替换多个内容

echo str_replace(['My','name','Mr.'], '你好', $str),'
';

echo str_replace(['My','name','is'], ['She','age','are'], $str),'
';

// str_ireplace(): 忽略查找字符的大小写的替换

echo str_ireplace('mr.', 'Mis.', $str),'
';//替换

echo '


';

// 2.substr_replace()

echo substr_replace($str,'我学习的是php语言', 0),'
';

echo substr_replace($str,'我学习的是php语言',0,strlen($str)), '
';

//从第11个开始替换0个字符相当于插入

echo substr_replace($str, 'PHP  ',11,0),'
';

//从第11个开始替换掉3个字符

echo substr_replace($str, 'mysql  ',11,3),'
';

// 删除式替换

echo substr_replace($str, '',3,4);

?>

运行实例 »

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

运行截图:

97403fd18f69e24a72559dfd78a76218.png

说明:字符串查找并代替函数:1.str_replace()直接选择字符替换,其中str_ireplace()替换忽略查找字符的大小写

2.substr_replace()可以从某个位置开始查找并替换。

3、以下代码介绍了自定义二维数组排序的方法,以及根据键名字母进行排序:

实例

//usort 二维数组的排序

$arr = array(

['name' => 'wangyi','age' => 25 ,'sex' => 'male'],

['name' => 'wanger','age' => 18 ,'sex' => 'female'],

['name' => 'wangsan','age' => 20 ,'sex' => 'male'],

);

echo '

';

echo '排序前:',var_export($arr),'
';

usort($arr, function($m,$n){

return strcmp($m['age'], $n['age']);

});

echo '排序后:',var_export($arr),'


';

//使用自定义的回调函数,对键名进行排序

$course = ['chinese' => '汉语','english'=>'英语','math'=>'数学'];

// 根据键名的第一个字母进行排序

uksort($course, function($m,$n){

$a = substr($m, 0, 1);

$b = substr($n, 0, 1);

return strcmp($a, $b);

});

echo var_export($course),'
';

// 根据键名的第三个字母进行排序

uksort($course, function($m,$n){

$a = substr($m, 2, 1);

$b = substr($n, 2, 1);

return strcmp($a, $b);

});

echo var_export($course);

?>

运行实例 »

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

运行截图:

5e7b93af9baac59aac99ec7c36a25763.png

说明:以上主要是运用usort()方法进行了数组排序,核心在于匿名函数级strcmp()函数的使用。

总结:今天主要学习及掌握了以下知识:

(1)子串查询的三个常用函:

1.substr($str, $offset, $length):只知道要获取子串的位置,精确查询,当第三个参数为负值时,代表从尾部开始取对应的几个值;

2.strstr($str1, $str2,bool):当默认有两个参数时,代表从所选字符的后边取全部的内容(包括当前所选),当添加第三个bool参数true时,代表从所选字符的前边取全部的内容(不包括当前所选);

3.strpos($str1, $str2, $start): 根据内容查询,返回字符串首次出现的位置。

(2)字符串查找并替换的二个函数:

1.str_replace()直接选择字符替换可以替换单个字符和多个字符(需要替换字符数组个数与被替换的字符数组个数相同),其中str_ireplace()替换忽略查找字符的大小写;

2.substr_replace()可以从某个位置开始查找并替换。

(3)最后运用usort()函数实现了二维数组的排序,以及根据键名的第n个字母进行排序,其中运用到了子串查询的函数以及匿名函数和strcmp()函数等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值