1.6PHP基础-内置函数-字符串

1.字符串大小写


strtolower($string):返回小写之后的字符串
strtoupper($string):返回大写之后的字符串
ucwords($string):单词的首字母大写
ucfirst($string):字符串的单词的首字母大写
lcfirst($string):字符串的单词的首字母小写


2.字符串查找

strpos($string, $search[, $offset]):在指定字符串中查找目标字符串第一次出现的位置
stripos($string, $search[, $offset]):忽略大小写的去查找
strrpos($string, $search[, $offset]):在指定字符串中查找目标字符串最后一次出现的位置
strripos($string, $search[, $offset]):忽略大小写的去查找最后一次出现的位置
strstr|strchr($string, $search[, $before_needle]):查找字符串的首次出现,返回的是字符串
stristr($string, $search[, $before_needle]):忽略大小写的去查找
strrchr($string, $search):查找指定字符在字符串中的最后一次出现
str_replace($search, $replace, $string):在指定字符串中查找另外一个字符串,找到之后将其替换成指定字符串
str_replace('\\', '/', dirname(__DIR__))); 
str_ireplace($search, $replace, $string):忽略大小写的去查找并替换

3.字符串的截取

substr($string, $start[, $length]):截取字符串
substr_replace($string, $replace, $start[, $length]):替换字符串的子串


4.字符ASCII


ord($char):得到指定字符的ASCII
chr($ascii):根据ASCII得到指定的字符


5.加密


md5($string):计算字符串的md5的散列值,返回32位长度的字符串
sha1($string):计算字符串的sha1的散列值,返回40位长度的字符串
hash();

6.过滤


trim($string[, $charlist]):默认过滤字符串两端的空格,也可以过滤指定字符串
ltrim($string[, $charlist]):过滤字符串左端
rtrim|chop($string[, $charlist]):过滤字符串右端
strip_tags($string[, $allowTag]):过滤字符串中的HTML标记
addslashes($string):使用反斜线引用字符串中的特殊字符
htmlentities($string[, $flag=ENT_COMPAT]):将所有字符转换成HTML实体
htmlspecialchars($string[, $flag=ENT_COMPAT]):将字符串中的特殊字符转换成HTML实体
nl2br($string):将字符串中的\n用<br/>替换

7.比较


strcmp($string1, $string2):比较两个字符串的大小
strcasecmp($string1, $string2):忽略大小写的比较字符串的大小
strnatcasecmp($string1, $string2):使用自然顺序算法比较字符串
strncasecmp($string1, $string2, $len):比较字符串的开始的若干个字符

8.拆分/合并


explode($delimiter, $string):将指定字符串拆分成数组
implode|join($delimiter, $array):以指定分隔符将数组中的键值连接成字符串
str_split($string[, $split_length=1]):将字符串转换成数组


9.格式化字符串


printf($format[, $args]):格式化输出字符串
sprintf($format[, $args]):格式化输出字符串

11.检测字符串的字符编码


$encode = mb_detect_encoding($lines, array("ASCII","UTF-8","GB2312","GBK","BIG5"));
if($encode != "UTF-8"){
  $lines = iconv($encode,"UTF-8", $lines);
}


strtotime($str); //时间格式的字符串转换成整型时间戳
      //注意设置时区 否则会有 8小时误差


12.json的编码与解码


json_encode($obj/$arr/$str...);//编码成json 格式的字符串
json_decode($jsonstr [,$assoc=true]); //解码成对象
             //当$assoc=true 时 返回数组 而非对象


13.千位分割格式化


string number_format ( float $number [, int $decimals = 0 ] )
string number_format ( float $number , int $decimals = 0 , string $dec_point = '.' , string $thousands_sep = ',' )
 @param  $number 你要格式化的数字 
     $decimals 要保留的小数位数 
     $dec_point 指定小数点显示的字符 
     $thousands_sep 指定千位分隔符显示的字符 

14.转换字符串编码函数


iconv($in_charset, $out_charset, $str);
$in_charset输入字符集
$out_charset输出字符集


15.字符串转义与反转义函数


addcslashes(string $str , string $charlist);//转义字符串中的特殊字符
        //eg. addcslashes($str,"\0..\37!@\177..\377");
              //转义ascii 中0-37、177-377中不含@符号的字符
stripcslashes($str) — 反转义addcslashes()函数转义处理过的字符串
 返回反转义后的字符串。可识别类似 C 语言的 \n,\r,... 八进制以及十六进制的描述


 10.其它常用


strrev($string):反转字符串
str_shuffle($string):随机打乱字符串
str_repeat($string):重复字符串
str_getcsv($input[, $delimiter=','[, $enclosure=''[, $escape='\']]]):解析CSV字符串为一个数组
parse_str($str[, $arr]):将字符串解析成多个变量
// chunk_split() 函数把字符串分割为一连串更小的部分
// 使用此函数将字符串分割成小块非常有用。例如将 base64_encode() 的输出转换成符合 RFC 2045 语义的字符串。它会在每 chunklen 个字符后边插入 end。 
str_getcsv($str); //将csv文件字符串转换成一个数组

mb_类型字符串函数
mb_类型字符串与上述字符串函数基本一样,
只是加多一个可选的字符编码参数,用法同上

 

 



//strlen:获取字符串长度,字节长度
//int strlen ( string $string )
$str = 'abcdef';
echo strlen($str); // 6

$str = ' ab cd ';
echo strlen($str); // 7



// substr_count — 计算字串出现的次数
// int substr_count ( string $haystack , string $needle [, int $offset = 0 [, int $length ]] )
// substr_count() 返回子字符串needle 在字符串 haystack 中出现的次数。注意 needle 区分大小写。 
//  不会计算重叠字符串

$text = 'This is a test';
echo substr_count($text, 'is'); // 2


//substr:字符串截取,获取字符串(按照字节进行截取)
//string substr ( string $string , int $start [, int $length ] )
// 如果 start 是非负数,返回的字符串将从 string 的 start 位置开始,从 0 开始计算。
$rest = substr("abcdef", 1,1);  // 返回 "b"
$rest = substr("abcdef", -1);    // 返回 "f"
$rest = substr("abcdef", -2);    // 返回 "ef"
$rest = substr("abcdef", -3, 1); // 返回 "d"
$rest = substr("abcdef", 0, -1);  // 返回 "abcde"
$rest = substr("abcdef", 2, -1);  // 返回 "cde"
$rest = substr("abcdef", 4, -4);  // 返回 ""
$rest = substr("abcdef", -3, -1); // 返回 "de"


 
// strstr -- 查找字符串的首次出现,返回字符串从第一次出现的位置开始到该字符串的结尾或开始。
// strchr -- strstr 函数的别名
// mixed strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )


// /*【 needle 为单个字符 】 */
$email  = 'name@example.com';
$domain = strstr($email, '@');
echo $domain; // 打印 @example.com
$user = strstr($email, '@', true); // 从 PHP 5.3.0 起
echo $user; // 打印 name

/*【 needle 为数字 】 */
$email  = 'name@example.com'; //字母a的 ASCII码为 97
$behind = strstr($email, 97);
echo $behind; // 打印 ame@example.com
$front = strstr($email, 97, true); // 从 PHP 5.3.0 起
echo $front; // 打印 n

/*【 needle 为字符串 】 */
$email = 'name@example.com';
$behind  = strstr($email, 'ex');
echo $behind; // 打印 example.com
$front = strstr($email, 'ex', true); // 从 PHP 5.3.0 起
echo $front; // 打印 name@



// stristr -- strstr 函数的忽略大小写版本
$email  = 'name@example.com';
$behind = stristr($email, 'A');
echo $behind; // 打印 ame@example.com

$front = stristr($email, 'A', true); // 从 PHP 5.3.0 起
echo $front; // 打印 n


// strrchr -- 查找字符串的最后一次出现,返回字符串从最后一次出现的位置开始到该字符串的结尾。
// mixed strrchr ( string $haystack , mixed $needle )
/*【 needle 为字符 】 */
$email  = 'name@example.com';
$behind = strrchr($email, 'a');
echo $behind; // 打印 ample.com

/*【 needle 为字符串 】 */
$email  = 'name@example.com';
$behind = strrchr($email, 'am');
echo $behind; // 打印 ample.com


/*【 needle 为数字 】 */
$email  = 'name@example.com';
$behind = strrchr($email, 97);
echo $behind; // 打印 ample.com


// strtolower:所有的字符都小写(针对英文字母)
// strtoupper:所有的字符都大写


// strrev:字符串反转(只能反转英文:英文存储只有一个字节),按照字节进行反转
echo strrev("Hello world!"); // 输出 "!dlrow olleH"

echo "<hr>";
// strpos:从字符串中找对应字符出现的位置(数字下标),从最左边开始找,同时注意字符串位置是从0开始,而不是从1开始的。 
$mystring = 'abc';
$findme   = 'a';
$pos = strpos($mystring, $findme); //0
echo $pos;

// strrpos:与strpos一样,只是从字符串的右边开始找

// trim:去掉函数两边的字符,默认是空格

// str_split 函数把字符串分割到数组中。

$str = "Hello Friend";

$arr1 = str_split($str);
$arr2 = str_split($str, 3);

print_r($arr1);
print_r($arr2);
以上例程会输出:

Array
(
    [0] => H
    [1] => e
    [2] => l
    [3] => l
    [4] => o
    [5] =>
    [6] => F
    [7] => r
    [8] => i
    [9] => e
    [10] => n
    [11] => d
)

Array
(
    [0] => Hel
    [1] => lo
    [2] => Fri
    [3] => end
)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值