PHP基础常用字符串处理函数
Posted echo_return
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP基础常用字符串处理函数相关的知识,希望对你有一定的参考价值。
chr(int $ascii) : string
根据指定ASCII值返回指定的字符。
$a = chr(65);
echo $a; // A
echo(string $arg1, string $...) : void
输出一个或多个字符串,echo 不是一个函数(只是一个语言结构)explode(string $delimiter, string $string, int $limit = ? ) : array
返回一个由$delimiter
分割$string
之后产生的子串组成的数组。如果设置了$limit
参数,则返回的数组里包含最多$limit
个元素,其中最后的那个元素将包含string
的剩余部分。
$a = \'Hello World,This is my house!\';
$b = explode(\' \', $a);
print_r($a);// Array ( [0] => Hello [1] => World,This [2] => is [3] => my [4] => house! )
$c = explode(\' \', $a, 3);
print_r($c);// Array ( [0] => Hello [1] => World,This [2] => is my house! )
fprintf(resource $handle, string $format, mixed $... = ?) : int
写入一个经$format
格式化后的字符串到由fopen
打开的资源$handle
中去,返回写入的字符串的长度。
$year = date(\'Y\');
$month = date(\'m\');
$day = date(\'d\');
$file = fopen(\'./a.txt\',\'w+\');
fprintf($file, \'%04d-%02d-%02d\', $year, $month, $day);
htmlspecialchars( string $string, int $flags = ENT_COMPAT | ENT_HTML401, string $encoding = ini_get("default_charset"), bool $double_encode = true) : string
将特殊字符转换为 HTML 实体implode(string $glue, array $pieces) : string
用$glue
返回一个用$glue
将一维数组的值连成的一个字符串。glue
默认为空join
,implode 函数的别名lcfirst(string $str) : string
返回将字符串的第一个字母转为小写后的新字符串。
$a = \'Hello\';
echo lcfirst($a);//hello
ltrim( string $str, string $character_mask = ?) : string
删除字符串开头的空白字符(或其他指定的字符),并返回md5( string $str, bool $raw_output = false) : string
计算字符串的 MD5 散列值number_format( float $number, int $decimals = 0, string $dec_point = ".", string $thousands_sep = ",") : string
格式化数字。如果只提供第一个参数,number的小数部分会被去掉并且每个千位分隔符都是英文小写逗号",";如果提供两个参数,number将保留小数点后的位数到你设定的值,其余同楼上;如果提供了四个参数,number 将保留decimals个长度的小数部分, 小数点被替换为dec_point,千位分隔符替换为thousands_sepord(string $string) : int
返回指定字符的ASCII值。同chr()
函数相反操作。print(string $arg) : int
print 实际上也不是函数,所以可以不用圆括号包围参数列表。其和echo
的区别是echo
可以有多个参数,而print
只能有一个参数,且print
总是返回1。printf(string $format, mixed $args = ?, mixed $... = ?) : int
输出格式化后的字符串。rtrim(string $str, string $character_mask = ?) : string
删除$str
末端的空白字符,并返回。str_contains( string $haystack, string $needle) : bool
查找字符串$haystack
中是否包含字符串$needle
,包含则返回true
,否则返回false
(php >= 8.0)str_ends_with(string $haystack, string $needle) : bool
检查字符串$haystack
是否以字符串$needle
结尾,是则返回true
,否则返回false
(PHP >= 8.0)str_ireplace(mixed $search, mixed $replace, mixed $subject, int &$count = ?) : mixed
函数返回一个字符串或者数组。该字符串或者数组是将subject
中全部search
都被replace
替换掉以后的结果,不区分大小写。str_replace()
是此函数区分大小写的版本。
$a = "Hello world!This is my sister,Ella.";
$str = str_ireplace(\'e\',\'E\',$a);
echo $str;//HEllo world!This is my sistEr,Ella.
$b = [\'ella\',\'jason\',\'jack\',\'musk\'];
$b = str_ireplace(\'a\',\'aa\',$b);
print_r($b);//Array ( [0] => ellaa [1] => jaason [2] => jaack [3] => musk )
str_pad( string $input, int $pad_length, string $pad_string = " ", int $pad_type = STR_PAD_RIGHT) : string
将字符串$input
从右边(默认右边,可以选择左边或两端)填充到指定长度$pad_length
,如果没有指定填充的字符串$pad_string
,则默认使用空格填充。
$str = "A";
$b = str_pad($str, 10);
echo strlen($b); // 10
$c = str_pad($str,10,\'a\');
echo $c; //Aaaaaaaaaa
$c = str_pad($str,10,\'a\', STR_PAD_LEFT);
echo $c; //aaaaaaaaaA
$c = str_pad($str,10,\'a\', STR_PAD_BOTH);
echo $c; // aaaaAaaaaa
str_repeat( string $input, int $multiplier) : string
返回$input
重复$multiplier
次之后的结果。如果multiplier
为0,则返回空字符串。
$str = \'Hello\';
$a = str_repeat($str,2);
$b = str_repeat($str,0);
echo $a; //HelloHello
echo $b; //
str_split( string $string, int $split_length = 1) : array
将一个字符串转换为数组,数组中的每个元素的长度由$split_length(大于0的整数)
指定。当$split
参数不指定时,则默认为单个字符组成一个元素。
$str = \'hello\';
$b = str_split($str);
print_r($b); // Array ( [0] => h [1] => e [2] => l [3] => l [4] => o )
$c = str_split($str, 3);
print_r($c); // Array ( [0] => hel [1] => lo )
str_starts_with( string $haystack, string $needle) : bool
判断字符串$haystack
是否以字符串$needle
开头。(PHP >= 8.0)stripos( string $haystack, string $needle, int $offset = 0) : int
查找$needle
在字符串$haystack
中首次出现的位置,不区分大小写。如果未发现则返回false。stripos()
函数是其区分大小写的版本。
$str = "hello world";
$a = stripos($str, \'wo\');
echo $a; // 6
$b = stripos($str, \'A\');
var_dump($b); // bool(false)
stristr( string $haystack, mixed $needle, bool $before_needle = false) : string
返回$haystack
字符串从$needle
第一次出现的位置开始到结尾的字符串,不区分大小写。strstr
是其区分大小写的版本。
$str = "hello world";
$a = stristr($str, \'wo\');
echo $a; //world
$b = strstr($str,\'Wo\');
var_dump($b); // bool(false)
strlen( string $string) : int
返回给定字符串的长度strrchr( string $haystack, mixed $needle) : string
函数返回haystack
字符串中的一部分,这部分以needle
的最后出现位置开始,直到haystack
末尾,区分大小写。不同于strstr
的是,这个函数中,如果$needle
参数有多个字符,则只使用第一个字符。
$str = "hello wrld";
$a = strrchr($str, \'wo\');
echo $a; // wrld
strrev( string $string) : string
反转字符串。
$str = \'hello world\';
$b = strrev($str);
echo $b; // dlrow olleh
strripos( string $haystack, string $needle, int $offset = 0) : int
返回$haystack
中$needle
最后一次出现的位置,不区分大小写。函数strrpos()
与此函数功能相同,区别是区分大小写。
$str = "hello world";
$a = strripos($str, \'wo\');
echo $a; // 6
strtolower( string $string) : string
将字符串中所有字符都转为小写,并返回strtoupper( string $string) : string
将字符串中所有字符都转为大写,并返回substr_count( string $haystack, string $needle, int $offset = 0, int $length = ?) : int
函数返回子字符串$needle
在字符串$haystack
中出现的次数,区分大小写。
$str = "hello world";
$a = substr_count($str, \'wo\');
echo $a; // 1
$b = substr_count($str, \'Wo\');
echo $b; // 0
substr( string $string, int $start, int $length = ?) : string
返回指定字符串的子字符串。
$str = \'Hello World\';
$a = substr($str, 2, 10);
echo $a; // llo World
trim( string $str, string $character_mask = " \\t\\n\\r\\0\\x0B") : string
返回字符串$string
两端去除首位空白字符或指定字符后的结果。ucfirst( string $str) : string
将字符串首字母转为大写,并返回ucwords( string $str, string $delimiters = " \\t\\r\\n\\f\\v" ) : string
将字符串中每个单词的首字母转为大写字母,并返回。wordwrap( string $str, int $width = 75, string $break = "\\n", bool $cut = false) : string
打断字符串为指定数量的字串
$str = \'Hello World! this is my house!\';
$a = wordwrap($str, 3,\'\');
var_dump($a); // string(30) "Hello\\World!\\this\\is\\my\\house!"
以上是关于PHP基础常用字符串处理函数的主要内容,如果未能解决你的问题,请参考以下文章