abstract:一.最常用的字符串查询函数 + 字符串查询,主要是根据特征进行,要么根据目标字符串位置,要么根据目标字符串的值 + substr($str,$offset,$length): 根据位置查询,获取指定位置或区间内的字符串 + strstr($str1,$str2,
一.最常用的字符串查询函数
+ 字符串查询,主要是根据特征进行,要么根据目标字符串位置,要么根据目标字符串的值
+ substr($str,$offset,$length): 根据位置查询,获取指定位置或区间内的字符串
+ strstr($str1,$str2,$bool):查询字符串首次出现的位置,返回字符串
+ strpos($str1,$str2,$start):查询字符串首次出现的位置,返回所在位置
1.substr($str,$offset,$length); //参数1,指定字符串 参数2:起始位置 参数3截取长度 返回字符串
$str = 'PHP is the best programming language'; $str2 = 'PHP是世界上.最好的变成语言么?'; echo substr($str2,0,10).'...<br>'; //出现了乱码 echo mb_substr($str2,0,10).'...<br>'; //mb_substr 截取中文好用,一个汉字算一个 echo substr($str,11),'<br>'; //从索引为11的位置开始截取到最后并返回 //负数,则结尾开始取 echo substr($str,-3),'<br>'; //age 从到数第三个开始截取到最后 echo substr($str,-8,4),'<br>'; //lang 从倒数第八个开始 截取4个
2.strstr($str1,$str2,$bool)查找字符首次出现的位置,并返回剩下部分,没找到返回false 参数1:目标字符串,参数2:要查找的值,参数3,为true 则返回要查找的字符串前面的字符串(不包括要查找的字符串)
$email = 'admin@php.cn'; //查询@是否存在 ,并返回@符后面的内容(包括@符号) echo strstr($email,'@').'<br>'; //查询@是否存在并返回@符号前面的内容(不包括@符) echo strstr($email,'@',true).'<br>';
3.strpos($str,$str1,$start):查找字符串首次出现的位置,并返回位置 参数1:被查找的字符串 ,参数2:要查找的值 参数3:起始位置
echo (strpos($str,'best')) ? 'best存在' : '没找到';//找到了输出存在 没找到输出没找到
二.字符串的查找与替换
+ str_replace($str1,$str2,$str3):将字符串中的部分内容,用目标字符串进行替换
+ substr_replace($str,$str2,$offset,$size): 功能和str_replace()类似,但指定了替换区间
1.str_replace():字符串替换 参数1:要查找的字符,参数2:替换后的字符,参数3:在哪个字符串中替换 还有一个忽略大小写的操作 str_ireplace()的
$str = '诸葛亮是一个政治家大谋士'; //1.大谋士 换成 军事家 echo $str.'<br>'; echo str_replace('大谋士','<span style="color:lightgreen">军事家</span>',$str).'<br>'; //2.删除指定字符,用空字符进行替换(空不是空格) 也就是第二个参数为'' echo str_replace('诸葛亮','',$str).'<br>'; //3.要被替换多个字符串,可以放在数组中 echo str_replace(['诸葛亮','政治'],['天','啊'],$str).'<br>'; //忽略大小写替换 $str2 = 'www.PHP.cn----WWW.php.net'; echo str_replace('php','<span style="color:lightgreen">HTML</span>',$str2).'<br>'; echo str_ireplace('php','<span style="color:lightgreen">HTML</span>',$str2).'<br>'; echo '<hr>';
2.substr_replace():与str_replace()类似 只是指定了目标字符串的匹配区间 参数1:目标字符串 参数2 替换之后的字符串,参数3 起始位置,参数4:替换长度
//从0开始,知道结束,用新字符串替换:刘备与孙权孰强孰弱 也就是全部替换 不传最后一个参数 $str = '诸葛亮是一个政治家大谋士'; echo $str.'<br>'; echo substr_replace($str,'刘备与孙权孰强孰弱',0).'<br>'; //第四个参数就是要替换的长度 echo substr_replace($str,'刘备与孙权孰强孰弱',0,strlen($str)).'<br>'; //传入字符串总长度 就是全部替换 //指定位置插入字符串 echo substr_replace($str,'曹操',18,6 ).'<br>'; 就是从18的位置向后6个进行替换 echo substr_replace($str,'曹操',18,0 ).'<br>'; //传入0就是插入字符串不删除原有字符串 //区间删除 ,将要替换的内容置空就可以了 echo substr_replace($str,'',0,9).'<br>';
三.其他常用的字符串函数
+ urlencode($url) 对url地址字符串进行编码
+ http_build_query($arr):生成url动态查询字符串
+ json_encode($var):将数据转为json格式
+ json_decode($str):将json格式的字符串解析还原为变量
1. urlencode($url):就是在特殊字符前面加上一个%,防止服务器解析出现歧义 其反操作就是urldecode($url)
$url = '//m.sbmmt.com/'; echo $url . '<br>'; $url = urlencode('//m.sbmmt.com/'); echo $url; //将特殊字符 :,/进行编码 http%3A%2F%2Fm.sbmmt.com%2F echo '<hr>'; $url = urldecode($url); //反操作 还原 echo '<a href="' . $url . '">php中文网</a>'; echo '<hr>';
2.http_build_query()生成动态查询字符串 parse_url($url) 解析url地址 返回一个数组
echo http_build_query(['cate_id' => 3, 'art_id' => 10]); $url = '//m.sbmmt.com/course.html?p=5'; $url2 = parse_url($url); //解析当前url地址 echo '<pre>' . var_export($url2, true) . '<br>'; //array ( // 'scheme' => 'http', // 'host' => 'm.sbmmt.com', // 'path' => '/course.html', // 'query' => 'p=5', //)
3.json相关的函数
3.1二个约定: 1.必须是utf8编码,2.不能处理资源类型resource
3.2.1.json_encode():将数据进行json编码,就是转为json格式
3.2.2.json_decode():将json格式的字符串,解析还原成变量
//变量 $girl = '孙尚香'; echo json_encode($girl) . '<br>'; //"\u5b59\u5c1a\u9999" //数组 [胸围,腰围,臀围] $bwh = ['bust' => 88, 'waist' => 85, 'hips' => 90]; echo json_encode($bwh) . '<br>'; //{"bust":88,"waist":85,"hips":90} //对象 $obj = new stdClass(); $obj->name = '甄姬'; $obj->age = 30; $obj->bwh = ['bust' => 80, 'waist' => 78, 'hips' => 80]; echo json_encode($obj) . '<br>'; //{"name":"\u7504\u59ec","age":30,"bwh":{"bust":80,"waist":78,"hips":80}} //json_decode();默认返回的都是对象 $json = '{"bust":88,"waist":85,"hips":90}'; $res = json_decode($json); echo gettype($res).'<br>'; //object echo '胸围是'.$res->bust; //以数组方式返回 第三个参数穿true 则以数组方式返回 $res = json_decode($json,true); echo gettype($res).'<br>'; //array echo '臀围是'.$res['hips'];
貌似还学到了些奇怪的东西----滑稽脸
Correcting teacher:韦小宝Correction time:2018-11-23 15:40:57
Teacher's summary:作业是一直写的都很不错!赞!很多知识点都是很奇怪的!往后就知道了!继续加油吧!