实例
<?php header("Content-type:text/html;charset=utf-8"); echo '<h2>1substr(),strstr(),strpos(): 根据值查找,返回位置</h2>'; /** * 三个最基本的字符串子串查询函数 * 1.substr(): 根据位置查找,输入位置,返回字符串 * 2.strstr(): 根据值查找,返回字符串 * 3.strpos(): 根据值查找,返回位置 */ $str1 = 'Whatever is worth doing is worth doing well'; //索引18是'doing'字符串开始处,返回'd'之后全部内容 echo substr($str1, 18), '<hr>'; //设置区间查询 //索引12开始的字符,但是不需要最后五个字符: ' well' echo substr($str1,12,-5), '<hr>'; //索引12开始的字符,截取长度为五个字符: 'worth' echo substr($str1,12,5),'<hr>'; //负数,则是从结尾开始取 echo substr($str1, -4), '<hr>'; //'well' //功能: 查找字符串的首次出现 $str2 = 'www.php.cn'; //查询'@'是否存在并返回p以及后面的内容(包括p): php.cn echo strstr($str2,'p'), '<hr>'; //查询'p'是否存在并返回p前面的内容(不包括p):'www.',bool:true,返回前面部分 echo strstr($str2,'p',true), '<hr>'; //如果只是想知道是否存在某个字符串,使用subpos()直接返回子串偏移量效率更高 echo strpos($str1,'worth').'<hr>'; echo strpos($str2,'php');
运行实例 »
点击 "运行实例" 按钮查看在线实例
实例
<?php header("Content-type:text/html;charset=utf-8"); echo '<h3>字符串查找并替换的二大函数:str_replace(),substr_replace()</h3>'; $str1 = 'I love Shanghai !'; //1.str_replace() echo str_replace('Shanghai', 'Beijing', $str1), '<hr>'; //2.删除指定字符:用空字符替换即可 echo str_replace('Shanghai', '', $str1), '<hr>'; //3.要被替换的多个子字符串,可以存放到数组中 echo str_replace(['I ', 'love','Shanghai','!'],' Beijing' , $str1), '<hr>'; //4.新字符串也可以来自数组,但数量必须要被替换数组相同 echo str_replace(['I ', 'love','Shanghai','!'],['Are you',' like','Beijing','?'] , $str1), '<hr>'; //类似:str_ireplace()你可能已经猜到了,这是不区分被替换字符串大小写的替换 echo str_ireplace('shanghai','Beijing', $str1), '<hr>'; //2.substr_replace($str, $object, $offset, $length),$offset和$length指定了替换的索引区间 $str2 = 'Peter Zhu is PHP lecture'; //从0开始替换到$str结束,用新字符串:PHP是最好的编程语言 echo substr_replace($str2, 'PHP是最好的编程语言',0),'<hr>'; //等价于 strlen($str2)计算$str的长度,此处的strlen($str2)为$str2的终止位置 echo substr_replace($str2, 'PHP是最好的编程语言',0,strlen($str2)),'<hr>'; //其中: PHP中文网 是插入的内容, $length=0,表示插入到这个位置 //此处后面的0,表示替换的长度为0,即表示没有替换,所以PHP中文网为插入的内容 echo substr_replace($str2, 'PHP中文网',13,0), '<hr>';//结果:Peter Zhu is PHP中文网PHP lecture //将PHP替换成Python echo substr_replace($str2, 'Python',13,3), '<hr>'; //删除指定区间内的字符,将新字符设置为空字符即可,删除'php' echo substr_replace($str2,'',13,3),'<hr>';
运行实例 »
点击 "运行实例" 按钮查看在线实例
实例
<?php /** * usort对二维数组的排序 */ //1.回调,升序 $arr=[15,45,66,78,9,2,34,21]; usort($arr,function($i,$j){ $res=$i-$j; switch($res){ case($res<0); return -1;//小于0,返回值为负,前面的数肯定比后面的数小,所以由小到大排序为升序 break; case($res>0); return 1; break; case($res=0); return 0; break; } }); echo var_export($arr,true).'<hr>'; //1.回调,降序 $arr=[15,45,66,78,9,2,34,21]; usort($arr,function($i,$j){ $res=$i-$j; switch($res){ case($res<0); return 1;//小于0,返回值为正 break; case($res>0); return -1; break; case($res=0); return 0; break; } }); echo var_export($arr,true).'<hr>';
运行实例 »
点击 "运行实例" 按钮查看在线实例