1)实例演示substr(),strstr(),strpos()函数:
实例
<?php /** * 三个最基本最常用的子串查询函数 */ //1. substr($str, $offset, $length):只知道要获取子串的位置,精确查询 $str = 'PHP is the best programming language at all!'; // substr(), 索引从11开始的剩余内容,根据位置查询 echo substr($str, 16), '<br>'; echo substr($str, 11,4), '<br>'; // 区间查询,11开始取4个 echo substr($str, -4), '<br>'; // 区间查询,从尾开始向前取4个 //strstr($str1, $str2,bool) $email = 'user@php.com.cn'; // 查询@是否存在,默认返回@以及后面的内容 echo strstr($email, '@'),'<br>'; // 传入第三个参数:true,仅返回@符之前的内容(不包含@) echo strstr($email, '@',true),'<br>'; echo strstr($email, '@',true),strstr($email, '@'),'<br>'; // strpos($str1, $str2, $start): 根据内容查询,返回字符串首次出现的位置 echo strpos($str, 'is');
运行实例 »
点击 "运行实例" 按钮查看在线实例
运行效果图:
2)实例演示str_replace(), substr_replace()
实例
<?php /** * 字符串查找并替换的二个函数 */ // str_replace(), substr_replace() $str = 'Raymond is a PHP Student.'; //1.str_replace() echo str_replace('PHP', 'Python', $str), '<br>'; //删除式替换 echo str_replace('Raymond', '', $str), '<br>'; // 一次性替换多个内容 echo str_replace(['Raymond','a','PHP'],'黄同学', $str), '<br>'; echo str_replace(['Raymond','a','Student'],['黄同学','是','学生'], $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, 'Python',13,3),'<br>'; // 删除式替换 echo substr_replace($str, '',13,3);
运行实例 »
点击 "运行实例" 按钮查看在线实例
运行效果图:
3)实例演示: usort()二维数组的排序
实例
<?php //排序多维数组 function cmp($a, $b) { return strcmp($a["fruit"], $b["fruit"]); } $fruits[0]["fruit"] = "lemons"; $fruits[1]["fruit"] = "apples"; $fruits[2]["fruit"] = "grapes"; $fruits[3]["fruit"] = "banana"; $fruits[4]["fruit"] = "watermelon"; $fruits[5]["fruit"] = "mango"; usort($fruits, "cmp"); while (list($key, $value) = each($fruits)) { echo '$fruits['.$key.']: ' . $value['fruit'] . '<br>'; }
运行实例 »
点击 "运行实例" 按钮查看在线实例
运行效果图:
总结:字符串的函数比较简单,看看手册就明白;Usort()这个函数利用回调来实现各样的排序,好像有点千变万化,要认真学习一下,有点难度,第一次学习。