Blogger Information
Blog 40
fans 1
comment 0
visits 31971
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
substr(),strstr(),strpos() 0827
郭稳重啊的博客
Original
627 people have browsed it

实例

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

运行实例 »

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



Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post