• PHP字符串函数(4)


    1. parse_str() 函数把查询字符串解析到变量中

    parse_str(string,array)

    如果未设置 array 参数,则由该函数设置的变量将覆盖已存在的同名变量。

    php.ini 文件中的 magic_quotes_gpc 设置影响该函数的输出。如果已启用,那么在 parse_str() 解析之前,变量会被 addslashes() 转换。

    parse_str("name=Bill&age=60",$arr);
    print_r($arr);
    
    parse_str("name=Bill&age=60");
    echo $name."<br>";
    echo $age;
    

    2. quoted_printable_decode() 对经过 quoted-printable 编码后的字符串进行解码,返回 8 位的 ASCII 字符串

    quoted_printable_encode() 函数把 8 位字符串转换为 quoted-printable 字符串。

    经过 quoted-printable 编码后的数据与通过邮件传输进行修改的不一样。完全 US-ASCII 的文本可进行 quoted-printable 编码,以确保通过文字翻译或线包网关进行消息传递时数据的完整性。

    3. 

    quotemeta() 函数在字符串中某些预定义的字符前添加反斜杠。

    预定义的字符:

    • 句号(.)
    • 反斜杠()
    • 加号(+)
    • 星号(*)
    • 问号(?)
    • 方括号([])
    • 脱字号(^)
    • 美元符号($)
    • 圆括号(())

    该函数可用于转义拥有特殊意义的字符,比如 SQL 中的 ( )、[ ] 以及 * 。

    4. sscanf() 函数根据指定的格式解析来自字符串的输入。 sscanf() 函数基于格式字符串向变量中解析字符串

    如果只向该函数传递两个参数,数据将以数组的形式返回。否则,如果传递了额外的参数,则被解析的数据会存储在这些参数中。如果区分符的数目大于包含它们的变量的数目,则会发生错误。不过,如果区分符的数目小于包含它们的变量的数目,则额外的变量包含 NULL。

    sscanf(string,format,arg1,arg2,arg++)

    format

    必需。规定要使用的格式。

    可能的格式值:

    • %% - 返回一个百分号 %
    • %c - ASCII 值对应的字符
    • %d - 包含正负号的十进制数(负数、0、正数)
    • %e - 使用小写的科学计数法(例如 1.2e+2)
    • %u - 不包含正负号的十进制数(大于等于 0)
    • %f - 浮点数
    • %o - 八进制数
    • %s - 字符串
    • %x - 十六进制数(小写字母)
    • %X - 十六进制数(大写字母)

    附加的格式值。必需放置在 % 和字母之间(例如 %.2f):

    • + (在数字前面加上 + 或 - 来定义数字的正负性。默认地,只有负数做标记,正数不做标记)
    • ' (规定使用什么作为填充,默认是空格。它必须与宽度指定器一起使用。)
    • - (左调整变量值)
    • [0-9] (规定变量值的最小宽度)
    • .[0-9] (规定小数位数或最大字符串长度)
    $str = "age:30 weight:60kg";
    sscanf($str, "age:%d weight:%dkg",$age,$weight);
    // 显示类型和值
    var_dump($age,$weight);
    

    5. str_getcsv() 函数解析 CSV 格式字段的字符串,并返回包含所读取字段的数组。

    str_getcsv(string,separator,enclosure,escape)

    separator可选。字符,规定字段分隔符(只允许一个字符)。默认值为逗号( , )。

    enclosure可选。字符,规定字段包裹字符。默认值为双引号( " )。

    escape可选。字符,规定转义字符。默认为反斜线()。

    以数组形式返回 CSV 字段。

    $str = '"a","b","c","d"';
    print_r(str_getcsv($str));
    
    Array
    (
        [0] => a
        [1] => b
        [2] => c
        [3] => d
    )

    6. str_ireplace() 函数替换字符串中的一些字符(不区分大小写)

    str_ireplace(find,replace,string,count)

    find必需。规定要查找的值。

    replace必需。规定替换 find 中的值的值。

    string必需。规定被搜索的字符串。

    count可选。一个变量,对替换数进行计数。

    该函数必须遵循下列规则:

    • 如果搜索的字符串是一个数组,那么它将返回一个数组。
    • 如果搜索的字符串是一个数组,那么它将对数组中的每个元素进行查找和替换。
    • 如果同时需要对数组进行查找和替换,并且需要执行替换的元素少于查找到的元素的数量,那么多余元素将用空字符串进行替换
    • 如果是对一个数组进行查找,但只对一个字符串进行替换,那么替代字符串将对所有查找到的值起作用。

    返回带有替换值的字符串或数组。

    7. str_pad() 函数把字符串填充为新的长度

    str_pad(string,length,pad_string,pad_type)

    string必需。规定要填充的字符串。

    length必需。规定新的字符串长度。如果该值小于字符串的原始长度,则不进行任何操作。

    pad_string可选。规定供填充使用的字符串。默认是空白。

    pad_type可选。规定填充字符串的哪边。

    可能的值:

    • STR_PAD_BOTH - 填充字符串的两侧。如果不是偶数,则右侧获得额外的填充。
    • STR_PAD_LEFT - 填充字符串的左侧。
    • STR_PAD_RIGHT - 填充字符串的右侧。默认。

    8. str_repeat() 函数把字符串重复指定的次数

    9. str_replace() 函数以其他字符替换字符串中的一些字符(区分大小写)

    10. str_rot13() 函数对字符串执行 ROT13 编码

    ROT13 编码把每一个字母在字母表中向前移动 13 个字母。数字和非字母字符保持不变

    编码和解码都是由相同的函数完成的。如果您把已编码的字符串作为参数,那么将返回原始字符串。

    echo str_rot13("I love Shanghai");
    echo "<br>";
    echo str_rot13("V ybir Funatunv");
    
    V ybir Funatunv
    I love Shanghai

    11. str_shuffle() 函数随机打乱字符串中的所有字符

    $str = "abcdefgh";//八位数及以下,有随机性,大于之后数字没随机性了,$i变成了一个固定的数,不知道为啥。
    $rand = str_shuffle($str);
    
    echo $rand;
    echo "<br/>";
    $i = 0;
    while ($rand != ($temp = str_shuffle($str))) {
    	$i++;
    }
    echo $temp;
    echo "<br/>";
    echo $i;
    

    12. str_split() 函数把字符串分割到数组中

    str_split(string,length)

    length默认是1.每个数组元素的长度

    13. str_word_count() 函数计算字符串中的单词数

    str_word_count(string,return,char)

    return可选。规定 str_word_count() 函数的返回值。

    可能的值:

    • 0 - 默认。返回找到的单词的数目。
    • 1 - 返回包含字符串中的单词的数组。
    • 2 - 返回一个数组,其中的键名是单词在字符串中的位置,键值是实际的单词。

    可选。规定被视为单词的特殊字符。

    echo (str_word_count("I love Shanghai!",0))."<br/>";
    print_r(str_word_count("I love Shanghai!",1));
    print_r(str_word_count("I love Shanghai!",2));
    
    3
    Array ( [0] => I [1] => love [2] => Shanghai ) Array ( [0] => I [2] => love [7] => Shanghai )
  • 相关阅读:
    动态生成表格 (ng-zorro)
    单例服务
    模板变量 #
    HTML 5 系列
    关于tcp nagle算法
    netty 解包头包体的一点认知
    vargent Authentication failure.记录
    关于YII2.0配置的一点问题
    关于mysql b-tree索引的一点认知
    记vagrant nginx sendfile问题
  • 原文地址:https://www.cnblogs.com/wyzs/p/5216425.html
Copyright © 2020-2023  润新知