php usort strcmp,substr(),strstr(),strpos()函数、str_replace(), substr_replace()、usort()二维数组的排序8月27号...

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

实例

/**

* 三个最基本最常用的子串查询函数

*/

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

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

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

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

echo substr($str, 11,4), '
'; // 区间查询,11开始取4个

echo substr($str, -3), '
'; // 区间查询,11开始取4个

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

$email = 'admin@php.cn';

// 查询@是否存在,默认返回@以及后面的内容

echo strstr($email, '@'),'
';

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

echo strstr($email, '@',true),'
';

echo strstr($email, '@',true),strstr($email, '@'),'
';

@strpos($str1, $str2, $start);

// 根据内容查询,返回字符串首次出现的位置

运行实例 »

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

0f34176624fb2e5e984ca9a6f0d1e47e.png

str_replace(), substr_replace()

实例

/**

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

*/

// str_replace(), substr_replace()

$str = 'Peter Zhu is PHP Lecture';

//1.str_replace()

echo str_replace('PHP', 'JAVA', $str), '
';

//删除式替换

echo str_replace('Zhu', '', $str), '
';

// 一次性替换多个内容

echo str_replace(['Peter','Zhu','PHP'],'朱老师', $str), '
';

echo str_replace(['Peter','Zhu','Lecture'],['彼得','朱','讲师'], $str), '
';

// str_ireplace(): 忽略大小写的替换

echo '


';

// substr_replace()

echo substr_replace($str,'PHP是最好的编程语言',0), '
';

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

echo substr_replace($str, 'PHP中文网  ',13,0),'
';

echo substr_replace($str, 'JAVA',13,3),'
';

运行实例 »

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

5dd1f93d5c002b0ab13b5c7b03054bc0.png

usort()二维数组的排序

$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),'


';

// usort()多维数组的排序

$stu = [

['name'=>'林心如','grade'=>98],

['name'=>'范冰冰','grade'=>55],

['name'=>'左小青','grade'=>73],

];

//echo '排序之前:',var_export($stu,true),'


';

//用户自定义排序规则

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

//$m ,$n实际上还是一个数组

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

});

echo '排序之后:',var_export($stu,true),'


';

//根据数组的键进行排序

$lang = ['html'=>'标记语言','css'=>'样式表','javascript'=>'前端脚本','php'=>'后端脚本'];

ksort($lang);

echo var_export($lang),'


';

$lang = ['html'=>'标记语言','css'=>'样式表','javascript'=>'前端脚本','php'=>'后端脚本'];

krsort($lang);

echo var_export($lang),'


';

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

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

$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),'


';

b2559baccbb2aa3ca665ba2ab60b798c.png

总结

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

str_replace()

substr_replace()

子串查询函数

substr()

strstr()

strpos()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值