PHP程序设计读书笔记八

1.字符串翻转函数:$string = strrev(string);//返回一个翻转顺序的拷贝
2.字符串复制函数:$repeated = str_repeat(string,count);//返回一个由参数string重复count次组成的新字符串;
3.字符串填充函数:
$padded = str_pad(original,length[,with[,pad_type]]);
第一个参数:要填充的字符串;
第二个参数:要填充的长度;
第三个参数:要填充的字符串,默认填充空格
第四个参数:填充方式:STR_PAD_RIGHT(默认在右边填充)、STR_PAD_LEFT(在左边填充)、STR_PAD_BOTH(两边填充,长度均分,使原字符串居中对齐)
4.分解和合并字符串:
①分解字符串:
1)$array = explode(分隔符,string[,limit]);
第一个参数:字符串分隔符
第二个参数:要处理的字符串
第三个参数:要返回数组中值的最大数目,如果达到上限的话,数组的最后一个元素将会包含字符串剩余的部分。
返回值:分解后子串组成的字符数组
2)$first_chunk = strtok(string,分隔符);
$next_chunk = strtok(分隔符);
strtok()函数可用于遍历一个字符串,每次得到一个新的字符串块。第一次调用strtok()的时候,需要传递两个参数:标记分隔符和要遍历的字符串,
要得到剩下的标记,只需重复调用仅带有分隔符的strtok(),当没有任何标记可以返回时,strtok()函数返回false
如果再次调用strtok()时带有两个参数,就会重新初始化迭代器。
3)$array = sscanf(string,模板);
返回值为字段数组
 $count = sscanf(string,模板,var1,var2,...);
返回值为字段的个数
字段的值存储在变量var1,var2,...中
②合并字符串:
$array = implode(分隔符,字符数组);
join()函数是implode()的别名函数

example:

<?php
    /*
     * 分解和合并字符串的测试
     */
    
    //分解方式一:使用explode()函数
    $string1 = 'Fred,25,Wilma';
    $fields1 = explode(",",$string1);
    var_dump($fields1);
    $fields2 = explode(",", $string1,2);//将字符串按","分隔成2段
    var_dump($fields2);
    
    //合并字符串
    $string2 = implode(",", $fields1);
    
    //分解字符串方式二:使用strtok()函数
    $token = strtok($string2, ",");
    while($token !== false){
        echo "$token\n";
        $token = strtok(",");
    }
    
    //分解字符串方式三:使用sscanf()函数
    $string3 = "Fred\tFlintstone (35)";
    $arr = sscanf($string3, "%s\t%s (%d)");
    var_dump($arr);
    $first = null;
    $last = null;
    $age = null;
    $n = sscanf($string3,"%s\t%s (%d)",$first,$last,$age);
    echo "Matched $n fields:$first $last is $age years old";
?>
输出:


5.字符串查找函数
①返回位置的查找:
1)strpos()函数查找一个小字符串在较大字符串中第一次出现的位置:
$position = strpos(large_string,small_string);
如果没有找到返回false
2)strrpos()函数查找某个字符(注意是单个字符)在字符串中最后一次出现的位置。如果将第二个参数传入一个字符串,则只查找该字符串的首字符。
参数和返回值类型都与strpos()相同
3)查找一个字符串的最后出现的位置:$pos = strpos(strrev(long_string),strrev(small_string));
②返回剩余的字符串
1)strstr()函数查找一个小字符串在大字符串中第一次出现的位置,并返回从小字符串开始的部分。
2)strstr()的别名:strchr();
3)不区分大小写的strstr():stristr()
4)查找字符在字符串最后出现的位置:strrchr();
③分解URL:$array = parse_url(url);返回一个由URL成分组成的数组;
example:

<?php
    /*
     * 字符串查找函数的测试
     */
    
    //strpos()函数测试
    $string1 = "gfgabcdabfdsfsabcvfd";
    echo $pos1 = strpos($string1,"ab");
    echo "\n";
    
    //strrpos()函数测试
    $string2 = "Fred,Flintstone,35,Wilma";
    echo $pos2 = strrpos($string2, ",");
    echo "\n";
    
    //查找一个字符串的最后出现位置。
    $string3 = "Today is the day we go on holiday to Florida";
    $to_find = "day";
    $pos3 = strpos(strrev($string3),strrev($to_find));//$pos3是要查找的字符串在反转字符串中的位置
    if($pos3 == false){
        echo "not found\n";
    }else{
        $pos4 = strlen($string3)- $pos3 - strlen($to_find);
        echo $pos4;
        echo "\n";
    }
    
    //测试strstr()及其变种函数
    $string4 = "Fred,Flintstofe,35,Wilma";
    echo $rest = strstr($string4, ",");
    echo "\n";
    echo $rest = stristr($string4, 'f');//不区分大小写识别
    echo("\n");
    echo $rest = strrchr($string4, 'i');
    echo "\n";
    
    //测试parse_url()函数
    var_dump(parse_url('http://me:secret@example.com/cgi-bin/board?user=fred'));
   
    ?>

输出:


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值