博客列表 >substr(),strstr(),strpos() 0827

substr(),strstr(),strpos() 0827

郭稳重啊的博客
郭稳重啊的博客原创
2018年08月28日 13:23:58625浏览

实例

<?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>';

运行实例 »

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



声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议