<meta charset="UTF-8"> <?php echo "<h2 style='color: green'>一、实例演示substr(),strstr(),strpos()函数</h2>"; echo '<hr>'; echo '<h4>1.1 substr() 函数返回字符串的一部分。</h4>';//substr($str,$offset,$length) 只知道要取子串的位置,精确查询 //如果 start 参数是负数且 length 小于或等于 start,则 length 为 0。 //substr对中文字进行返回字符串的时请注意:1中文=3字节, GB2312占2字节,英文占1字节,截取位数不准确'; $title='我是PHP中文网的学员:熊成浩'; echo '初始数据=',$title,'<br>'; $title2=substr($title,0,9); echo $title2,'<br>'; $title3=substr($title,6); echo $title3,'<br>'; $title4=substr($title,-9); echo $title4; echo '<hr>'; echo '<h4>1.2 strstr() 搜索字符串在另一字符串中的第一次出现并返回字符</h4>';//strstr($str1,$str2,bool) $title5=strstr($title,'熊');//返回第一次出现"熊"及后面的字符串 echo $title5,'<br>'; $title6=strstr($title,'熊',true);//返回第一次出现"熊"及前面的字符串 echo $title6,'<br>'; $email='xiongchenghao@bonsaii.com'; $email2=strstr($email,'@'); echo '返回邮箱后缀为:',$email2,'<br>'; $email3=strstr($email,'@',true); echo '返回邮箱后前缀:',$email3; echo '<hr>'; echo '<h4>1.3 strpos() 搜索字符串在另一字符串中的第一次出现的位置</h4>'; $title7=strpos($title,'熊');//返回第一次出现"熊"及后面的位置,字符串位置从 0 开始 echo $title7,'<br>';
点击 "运行实例" 按钮查看在线实例
<meta charset="UTF-8">
<?php
echo "<h2 style='color: green'>二、实例演示str_replace(), substr_replace()</h2>";
echo '<hr>';
echo '<h4>1.1 str_replace() 字符查找并替换</h4>';//(区分大小写)
$title='因为程序员基本都是头脑程序化,不太会察言观色,也就是情商不是很高,我就是属于那种!~~(想让你的简历打动面试官吗?)';
echo '<b>初始化原文:</b>',$title,'<br>';
$title1=str_replace('~','^^',$title);
echo '<br>';
echo '<b>替换~为^^后:</b>',$title1,'</br>';
echo '<br>';
//一次性替换多个内容
$title2=str_replace([',','!','?'],'...',$title);//一次性替换,!?为. 注意全角半角,大小写
echo '<b>一次性替换,!?为...:</b>',$title2,'</br>';
echo '<br>';
$title3=str_replace([',','!','?'],[',','!','?'],$title);//一次性替换,!?为. 全角半角,大小写
echo '<b>一次性替换,!?为半角:</b>',$title3,'</br>';
echo '<hr>';
echo '<h4>1.2 substr_replace() 替换字符串中的部分字符</h4>';//(区分大小写)
$str='我在PHP中文网学习朱老师的课程。';
echo '<b>初始化原文:</b>',$str,'<br>';
$str1=substr_replace($str,'我在PHP中文网学习!',0);
echo '<br>';
echo '<b>完整替换为:</b>',$str1,'<br>';
$str2=substr_replace($str,' 程序开发',24);
echo '<br>';
echo '<b>从24个位置开始替换:</b>',$str2,'<br>';
$str3=substr_replace($str,' 程序开发,目前学习的是',24,0);
echo '<br>';
echo '<b>从24个位置开始插入:</b>',$str3,'<br>';
$str4=substr_replace($str,'灭绝',24,3);
echo '<br>';
echo '<b>从24个位置开始替换3个字符:</b>',$str4,'<br>';点击 "运行实例" 按钮查看在线实例
<meta charset="UTF-8">
<?php
echo '<h2 style="color: green">三、键排序\值排序\二维数组的排序:(排序的结果会修改原始数组)</h2>';
echo '<pre>';
//echo "<h3 style='color: white;background-color: red'>3.0 usort()二维数组的排序</h3>";
echo "<p style='color: blue'>排序前的原始数据:</p>";
$products=array(
['product'=>'ipone X','price'=>7199,'sales'=>28556],
['product'=>'ipone 8','price'=>4499,'sales'=>25642],
['product'=>'ipone 8 Plus','price'=>5499,'sales'=>6421],
['product'=>'荣耀 9i','price'=>1399,'sales'=>23455],
['product'=>'小米 8','price'=>2699,'sales'=>21054],
['product'=>'荣耀 10','price'=>2399,'sales'=>19890],
);
//排序前的结果
echo var_export($products);
echo '<hr>';
//使用usort 根据销量进行排序
usort($products,function ($m,$n){ //第一个参数是数组,第二个参数是回调
$res=$m['sales'] - $n['sales'];
// $res=strcmp($m['sales'],$n['sales']);//$m,$n是二维数组中的一个元素,也是一个数组 //strcmp()函数,比较两个字符串(区分大小写)
switch ($res){
case ($res<0):
return -1; // 如果 string1 < string2,返回负数
break;
case ($res>0):
return 1; //如果 string1 > string2,返回正数
break;
default:
return 0; //如果两个字符串相等0
}
});
echo "<p style='color: green'>按销量升序的结果数据:</p>";
echo var_export($products,true);
echo '<hr>';
//使用usort 根据价格进行排序
usort($products,function ($m,$n){ //第一个参数是数组,第二个参数是回调
return strcmp($m['price'],$n['price']); //strcmp()函数,比较两个字符串(区分大小写)
});
echo "<p style='color: green'>按销量升序的结果数据:</p>";
echo var_export($products,true);点击 "运行实例" 按钮查看在线实例
总结:
排序方式:(排序的结果会修改原始数组)
sort 值升序
rsort 值降序
usort 用户自定义排序(回调规则)
ksort 键升序
krsort 键降序
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号