echo和print函数是输出字符串利用最普遍的函数。
此外还有printf和sprintf函数。

sprintf()语法声明

sprintf(format,arg1,arg2,arg++)

php字符串处理PHP 字符串处置 Vue.js

format必需。
规定字符串以及如何格式化个中的变量。

可能的格式值:

%% - 返回一个百分号 %

%b - 二进制数

%c - ASCII 值对应的字符

%d - 包含正负号的十进制数(负数、0、正数)

%e - 利用小写的科学计数法(例如 1.2e+2)

%E - 利用大写的科学计数法(例如 1.2E+2)

%u - 不包含正负号的十进制数(大于即是 0)

%f - 浮点数(本地设置)

%F - 浮点数(非本地设置)

%g - 较短的 %e 和 %f

%G - 较短的 %E 和 %f

%o - 八进制数

%s - 字符串

%x - 十六进制数(小写字母)

%X - 十六进制数(大写字母)

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

+ (在数字前面加上 + 或 - 来定义数字的正负性。
默认情形下,只有负数才做标记,正数不做标记)

' (规定利用什么作为添补,默认是空格。
它必须与宽度指定器一起利用。
例如:%'x20s(利用 \公众x\公众 作为添补))

- (左调度变量值)

[0-9] (规定变量值的最小宽度)

.[0-9] (规定小数位数或最大字符串长度)

注释:如果利用多个上述的格式值,它们必须按照以前次序利用。

arg1必需。
规定插到 format 字符串中第一个 % 符号处的参数。

arg2可选。
规定插到 format 字符串中第二个 % 符号处的参数。

arg++可选。
规定插到 format 字符串中第三、四等 % 符号处的参数。

例:sprintf.php

<?php

$num = 3; //定义变量$num为3

$location = 'desk';//定义变量$location为desk

$format = 'There are %d apples on the %s.<br><br>';//定义变量$format 为There are %d apples on the %s.

printf($format, $num, $location);//格式化输出There are 3 apples on the desk.

echo sprintf($format, $num, $location);//打印There are 3 apples on the desk.

?>

结果:

%d与$num对应,%s与$location对应。

例:sprintf2.php

<?php

$num = 3;//定义变量$num为3

$location = 'desk';//定义变量$location为desk

$format = 'There are %2$d apples on the %1$s.<br><br>';//定义变量$format There are %2$d apples on the %1$s.

echo sprintf($format, $location, $num);//打印There are 3 apples on the desk.

?>

结果:

%2$d表示调用参数$num %1$s表示调用参数$location

例:sprintf3.php

<?php

$s = 'bigmarten';//定义变量$s为bigmarten

echo sprintf(\"大众[%10s]<br>\"大众,$s);//%10s表示输出宽度为10的字符串

echo sprintf(\公众[%-10s]<br>\"大众,$s);//%-10s表示输出左对齐宽度为10的字符串 ‘-’为左对齐,默认右对齐

echo sprintf(\"大众[% 10s]<br>\"大众,$s);//% 10s表示输出宽度为10的字符串,左边空缺的部分用空格补齐

echo sprintf(\"大众[%010s]<br>\"大众,$s);//%010s表示输出宽度为10的字符串,左边空缺的部分用'0'补齐

echo sprintf(\"大众[%'#10s]<br><br>\"大众,$s);//%'#10s表示输出宽度为10的字符串,左边空缺的部分用'#'补齐

$money = 23.10;//定义变量$money为23.10

echo sprintf(\公众¥%5.1f<br>\"大众, $money);//%5.1f表示输出长度为5(包括小时点),且小数点后有效位为1的浮点数

echo sprintf(\"大众¥%.2f<br>\"大众, $money);//%.2f表示输出小数点有效位为2的浮点数

?>

结果:

2.利用str_pad来补齐一个字符串

定义和用法

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 - 添补字符串的右侧。
默认。

例:str_pad.php

<?php

$str = \"大众apple\"大众;//定义一个字符串变量为apple

echo '['.str_pad($str, 10).']<br>';//添补的字符串为$str,字符串长度为10,添补利用的字符串。
默认是空缺

echo '['.str_pad($str, 10, \"大众#\"大众, STR_PAD_LEFT).']<br>';//添补的字符串为$str,字符串长度为10,添补利用的字符串为#,方向为添补字符串的左侧

echo '['.str_pad($str, 10, \"大众\"大众, STR_PAD_BOTH).']<br>';//添补的字符串为$str,字符串长度为10,添补利用的字符串为,方向为添补字符串的两侧。
如果不是偶数,则右侧得到额外的添补。

echo '['.str_pad($str, 6, \公众\"大众).']<br>';//添补的字符串为$str,字符串长度为6,添补利用的字符串为。

echo '['.str_pad($str, 3, \公众\"大众).']<br>';//添补的字符串为$str,字符串长度为3,如果该值小于字符串的原始长度,则不进行任何操作。

?>

结果:

3.利用strlen打算字符串长度

解释

strlen ( string $string ) : int

返回给定的字符串 string 的长度。

例:strlen.php

<?php

$str1 = 'bigmarten';//定义字符串变量$str1为bigmarten

echo 'str1: '.strlen($str1).'<br>';//打印变量$str1字符串长度

$str2 = 'big marten ';//定义字符串变量$str2为big marten

echo 'str2: '.strlen($str2).'<br>';//打印变量$str2字符串长度

echo 'str3: '.strlen($str3);//打印变量$str3字符串长度

?>

结果:

4.利用strpos来确定子串的位置

定义和用法

strpos() 函数查找字符串在另一字符串中第一次涌现的位置。

语法

strpos(string,find,start)

参数描述

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

find必需。
规定要查找的字符串。

start可选。
规定在何处开始搜索。

返回值:

返回字符串在另一字符串中第一次涌现的位置,如果没有找到字符串则返回 FALSE。

注释:字符串位置从 0 开始,不是从 1 开始。

例:strpos.php

<?php

$str = 'aple';//定义一个字符串变量$str为apple

$needle = 'p';//定义一个字符串变量$needle为p

$pos = strpos($str, $needle);//定义一个变量$pos来存储子串p在apple中位置

if ($pos === false) { //如若变量$pos不存在

echo \公众'$needle' is not in '$str'.<br><br>\公众;//打印p is not in apple

} else {

echo \"大众The position is $pos.<br><br>\"大众;//存在打印The position is 1.

}

$pos = strpos($str, 'p', 2); //定义一个变量$pos来存储子串p在apple中从第2个位置开始查找位置

if ($pos === false) {//如若变量$pos不存在

echo \"大众'$needle' is not in '$str'.\公众;//打印p is not in apple

} else {

echo \"大众The position is $pos.\公众;//存在打印The position is 2.

}

?>

结果:

5.利用stripos来确定子串的位置

不区分大小写用stripos

语法

stripos(string,find,start)

参数描述

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

find必需。
规定要查找的字符。

start可选。
规定开始搜索的位置。

返回值:

返回字符串在另一字符串中第一次涌现的位置,如果没有找到字符串则返回 FALSE。

注释:字符串位置从 0 开始,不是从 1 开始。

例:stripos.php

<?php

$needle = 'a';//定义一个字符串变量$needle为a

$str = 'Apple';//定义一个字符串变量$str为apple

$pos = strpos($str, $needle);//定义一个变量$pos来存储子串a在apple中位置

if ($pos === false) {//如若变量$pos返回值为false

echo \"大众'$needle' is not in '$str'.<br><br>\"大众;//打印a is not in apple

}

else{

echo \"大众The position is $pos.<br><br>\"大众;//存在打印The position is $pos.

}

$pos = stripos($str, $needle);

if ($pos === false) {//如若变量$pos返回值为false

echo \"大众'$needle' is not in '$str'.\"大众;//打印a is not in apple

}

else{

echo \"大众The position is $pos.\公众;//存在打印The position is $pos.

}

?>

结果:

6.利用substr来返回子串

定义和用法

substr() 函数返回字符串的一部分。

注释:如果 start 参数是负数且 length 小于或即是 start,则 length 为 0。

语法

substr(string,start,length)

参数描述

string必需。
规定要返回个中一部分的字符串。

start

必需。
规定在字符串的何处开始。

正数 - 在字符串的指定位置开始

负数 - 在从字符串结尾开始的指定位置开始

0 - 在字符串中的第一个字符处开始

length

可选。
规定被返回字符串的长度。
默认是直到字符串的结尾。

正数 - 从 start 参数所在的位置返回的长度

负数 - 从字符串末端返回的长度

例:substr.php

<?php

echo substr('apple', 1).'<br>'; //从1的位置开始打印子串pple

echo substr('apple', 1, 3).'<br>';//从1的位置开始打印3个长度子串ppl

echo substr(\"大众apple\公众, -2).'<br>'; //负数 - 在从字符串结尾开始的指定位置左2开始打印子串le

echo substr(\公众apple\"大众, -3, 1).'<br>';//负数 - 在从字符串结尾开始的指定位置左3开始打印1个子串p

echo substr(\"大众apple\"大众, 2, -1).'<br>';//正数 - 在字符串的指定位置开始pl

echo substr(\"大众apple\公众, -2, -1).'<br>';//l

echo substr(\"大众apple\"大众, 4, -1).'<br>';//空

?>

结果:

7.利用str_replace更换字符串

语法

str_replace(find,replace,string,count)

参数描述

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

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

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

count可选。
对换换数进行计数的变量。

例:str_replace.php

<?php

$subject = \"大众apple banana and orange.\公众;//定义一个字符串变量$subject为apple banana and orange.

$old = array(\"大众apple\公众, \"大众banana\"大众, \"大众orange\公众);//定义要被更换数组为$old

$new = array(\"大众book\公众, \"大众pen\"大众, \公众desk\"大众);//定义要更换数组为$new

echo str_replace($old, $new, $subject).'<br><br>';//打印用数组$new更换$old在$subject形式中,数组的元素逐一对应

$str = str_replace(\"大众p\"大众, \"大众\"大众, \公众apple\公众, $count);//用“”更换apple中的“p”,count为更换次数

echo '更换的次数: '.$count;//打印更换的次数

?>

结果:

8.字符串比较函数strcmp与strncmp

1)strcmp

strcmp() 函数比较两个字符串。
注释:strcmp() 函数是二进制安全的,且对大小写敏感。

语法

strcmp(string1,string2)

参数描述

string1必需。
规定要比较的第一个字符串。

string2必需。
规定要比较的第二个字符串。

返回值:

本函数返回:

0 - 如果两个字符串相等

<0 - 如果 string1 小于 string2 (ASCII码值比较)

>0 - 如果 string1 大于 string2

例:strcmp.php

<?php

$str1 = 'abc';//定义一个字符串变量$str1 为abc

$str2 = 'aBcde';//定义另一个字符串变量$str2 为aBcde

if(strcmp($str1,$str2) > 0) //>0 ASCII码值比较大小

echo \公众'$str1' > '$str2'\"大众;//打印'abc' > 'aBcde'

else if(strcmp($str1,$str2) < 0)//<0

echo \"大众'$str1' < '$str2'\公众;//打印'abc' < 'aBcde'

else

echo \"大众'$str1' == '$str2'\"大众;//打印'abc' = 'aBcde'

?>

结果:

注:从左到右依次比较 由于ASCII b>B以是打印'abc' > 'aBcde'

2)strncmp

定义和用法

strncmp() 函数比较两个字符串。

注释:strncmp() 是二进制安全的,且对大小写敏感。

提示:该函数与 strcmp() 函数类似,不同的是,strcmp() 没有 length 参数。

语法

strncmp(string1,string2,length)

参数描述

string1必需。
规定要比较的首个字符串。

string2必需。
规定要比较的第二个字符串。

length必需。
规定比较中所用的每个字符串的字符数。

返回值:

本函数返回:

0 - 如果两个字符串相等

<0 - 如果 string1 小于 string2

>0 - 如果 string1 大于 string2

例:strncmp.php

<?php

$str1 = 'abc';//定义一个字符串变量$str1 为abc

$str2 = 'aBcde';//定义另一个字符串变量$str2 为aBcde

if(strncmp($str1,$str2,1) > 0)//只取一个字符比较 'a' == 'a'

echo \公众'$str1' > '$str2'\公众;//打印'abc' > 'aBcde'

else if(strncmp($str1,$str2,1) < 0)

echo \"大众'$str1' < '$str2'\公众;//打印'abc' < 'aBcde'

else

echo \"大众'$str1' == '$str2'\"大众;//打印'abc' == 'aBcde'

?>

结果:

9.不区分大小写的比较函数strcasecmp与strncasecmp

1)strcasecmp

定义和用法

strcasecmp() 函数比较两个字符串。
功能和strcmp相同。

提示:strcasecmp() 函数是二进制安全的,且不区分大小写。

提示:该函数与 strncasecmp() 函数类似,不同的是,通过 strncasecmp() 您可以指定每个字符串用于比较的字符数。

语法

strcasecmp(string1,string2)

参数描述

string1必需。
规定要比较的第一个字符串。

string2必需。
规定要比较的第二个字符串。

返回值:

该函数返回:

0 - 如果两个字符串相等

<0 - 如果 string1 小于 string2

>0 - 如果 string1 大于 string2

例:strcasecmp.php

<?php

$str1 = \"大众apple\"大众;//定义一个字符串变量$str1 为apple

$str2 = \"大众aPPle\"大众;//定义另一个字符串变量$str2 为aPPle

if (strcasecmp($str1, $str2) == 0) {//==0 ASCII码值比较大小

echo \"大众'$str1' == '$str2'.\"大众;//打印\"大众apple\"大众 == \公众aPPle\"大众

}

else if(strcasecmp($str1, $str2) > 0) {//>0 ASCII码值比较大小

echo \"大众'$str1' > '$str2'.\"大众;//打印\公众apple\"大众 > \"大众aPPle\"大众

}

else{

echo \"大众'$str1' < '$str2'.\公众;//打印\"大众apple\"大众 < \"大众aPPle\公众

}

?>

结果:

2)strncasecmp

定义和用法

strncasecmp() 函数比较两个字符串。

注释:strncasecmp() 是二进制安全的,对大小写不敏感。

提示:该函数与 strcasecmp() 函数类似,不同的是,strcasecmp() 没有 length 参数。

语法

strncasecmp(string1,string2,length)

参数描述

string1必需。
规定要比较的第一个字符串。

string2必需。
规定要比较的第二个字符串。

length必需。
规定每个字符串用于比较的字符数。

返回值:

本函数返回:

0 - 如果两个字符串相等

<0 - 如果 string1 小于 string2

>0 - 如果 string1 大于 string2

例:strncasecmp.php

<?php

$str1 = \公众appl\"大众;//定义一个字符串变量$str1 为apple

$str2 = \"大众aPPle\公众;//定义另一个字符串变量$str2 为aPPle

if (strncasecmp($str1,$str2,5) == 0) {//==0 ASCII码值比较5个字符的大小

echo \"大众'$str1' == '$str2'.\公众;//打印\公众apple\"大众 == \"大众aPPle\公众

}

else if(strncasecmp($str1,$str2,5) > 0) {

echo \公众'$str1' > '$str2'.\"大众;//打印\"大众apple\"大众 > \"大众aPPle\"大众

}

else{

echo \"大众'$str1' < '$str2'.\公众;//打印\公众apple\"大众 < \"大众aPPle\公众

//echo strlen($str1);//打印$str1字符串长度

}

?>

结果:

10.大小写转换函数strtoupper与strtolower

1)strtoupper

定义和用法

strtoupper() 函数把字符串转换为大写。

注释:该函数是二进制安全的。

语法

strtoupper(string)

参数描述

string必需。
规定要转换的字符串。

返回值:返回转换为大写的字符串。

例:strtoupper.php

<?php

$str = \"大众Apple#is@sweat.\公众;//定义一个字符串变量$str为Apple#is@sweat.

$str = strtoupper($str);//返回转换为大写的字符串

echo $str;//打印$str变量

?>

结果:

2)strtolower

定义和用法

strtolower() 函数把字符串转换为小写。

注释:该函数是二进制安全的。

语法

strtolower(string)

参数描述

string必需。
规定要转换的字符串。

返回值:返回转换为小写的字符串。

例:strtolower.php

<?php

$str = \"大众APPLE#IS@Sweat.\公众;//定义一个字符串变量$str为Apple#is@sweat.

$str = strtolower($str);//返回转换为小写的字符串。

echo $str;//打印$str变量

?>

结果:

11.首字母大写转换函数ucfirst与ucwords

1)ucfirst

定义和用法

ucfirst() 函数把字符串中的首字符转换为大写。

干系函数:

lcfirst() - 把字符串中的首字符转换为小写

语法

ucfirst(string)

参数描述

string必需。
规定要转换的字符串。

返回值:返回已转换的字符串。

例:ucfirst.php

<?php

$str1 = 'apple';//定义一个字符串变量$str1为apple

$str1 = ucfirst($str1);//把字符串中的首字符转换为大写Apple

echo $str1.'<br><br>';//打印变量$str1 Apple

$str2 = 'aPPle';//定义一个字符串变量$str2为aPPle

$str2 = ucfirst(strtoupper(strtolower($str2)));//先转换成小写在转化成大写,末了首字母大写

echo $str2;//打印变量$str2 APPLE

?>

结果:

2)ucwords

定义和用法

ucwords() 函数把字符串中每个单词的首字符转换为大写。

注释:该函数是二进制安全的。

语法

ucwords(string)

参数描述

string必需。
规定要转换的字符串。

返回值:返回已转换的字符串。

例:ucwords.php

<?php

$str1 = 'apple banana';//定义一个字符串变量$str1为apple banana

$str1 = ucwords($str1);//把字符串中每个单词的首字符转换为大写。
Apple Banana

echo $str1.'<br><br>';//打印变量$str1 Apple Banana

$str2 = 'APPLE BANANA';//定义一个字符串变量$str2为APPLE BANANA

$str2 = ucwords($str2);//把字符串中每个单词的首字符转换为大写

echo $str2;//打印变量$str2 APPLE BANANA

?>

结果:

12. 字符串的切分函数explode

定义和用法

explode() 函数把字符串打散为数组。

注释:\公众separator\"大众 参数不能是空字符串。

注释:该函数是二进制安全的。

语法

explode(separator,string,limit)

参数描述

separator必需。
规定在哪里分割字符串。

string必需。
要分割的字符串。

limit

可选。
规定所返回的数组元素的数目。

可能的值:

大于 0 - 返回包含最多 limit 个元素的数组

小于 0 - 返回包含除了末了的 -limit 个元素以外的所有元素的数组

0 - 返回包含一个元素的数组

返回值:返回字符串的数组

例:

1)explode.php

<?php

$data = \"大众http://www.csdn.net\"大众; //定义一个字符串变量$data 为http://www.csdn.net

list($http, $name, $ext) = explode(\"大众.\公众, $data);//用'.'切分 分三部分http://www csdn net

list($http, $www) = explode(\公众://\公众, $http);////用'://'切分 分两部分http www

echo $http.'<br><br>';//http

echo $www.'<br><br>';//www

echo $name.'<br><br>';//cndn

echo $ext.'<br><br>';//net

?>

结果:

2)explode2.php

<?php

$str = '1,2,3,4,5';//定义一个字符串变量$str 为1,2,3,4,5

echo '<pre>';//格式化形式

print_r($lists = explode(',', $str, 2));//打印 按','切分2(正数2)部分 1 2,3,4,5

echo '</pre><pre>';

print_r($lists = explode(',', $str, -2));//打印 按',' 切分 1 2 3 (-2 为负数,撤除末端两个都按这规则切分)

echo '</pre>';

foreach($lists as $list) { //用遍历办法循环找符合规则的数相加

$list += $list;

}

echo \"大众explode(',', '$str', -2)分割后的元素之和:\公众.$list;//1+2+3 =6

?>

结果:

13. 字符串合并函数implode

定义和用法

implode() 函数返回由数组元素组合成的字符串。

注释:implode() 函数接管两种参数顺序。
但是由于历史缘故原由,explode() 是弗成的,您必须担保 separator 参数在 string 参数之前才行。

注释:implode() 函数的 separator 参数是可选的。
但是为了向后兼容,推举您利用利用两个参数。

注释:该函数是二进制安全的。

语法

implode(separator,array)

参数描述

separator可选。
规定数组元素之间放置的内容。
默认是 \"大众\"大众(空字符串)。

array必需。
要组合为字符串的数组。

返回值:返回由数组元素组合成的字符串。

例:implode.php

<?php

$array = array('www', 'csdn', 'net');//定义一个数组$array

$http = implode(\"大众.\"大众, $array);//用'.'的规则将每个数组元素进行合并

echo $http; //打印新的变量$http

?>

结果:

14.函数str_split均匀分割字符串

定义和用法

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

语法

str_split(string,length)

参数描述

string必需。
规定要分割的字符串。

length可选。
规定每个数组元素的长度。
默认是 1。

技能细节

返回值:

如果 length 小于 1,则 str_split() 函数将返回 FALSE。

如果 length 大于字符串的长度,则全体字符串将作为数组的唯一元素返回。

例:str_split.php

<?php

$str = \"大众apple banana\"大众;//定义一个字符串变量$str为apple banana

$str1 = str_split($str);//均匀分割变量$str赋值给数组$str1

$str2 = str_split($str, 3);//按3个字符均匀分割变量$str赋值给数组$str2

echo \公众<pre>\公众;

print_r($str1);//打印数组$str1

echo \公众</pre><pre>\"大众;

print_r($str2);//打印数组$str2

echo \公众</pre>\"大众;

?>

结果:

15.在字符串中包含变量,单引号与双引号的差异

当字符串中含有变量时,应利用双引号输出。
如果直接输出字符串中的内容,可以利用单引号。

例:str.php

<?php

$food = 'apple';//定义变量$food为apple

$person = 'Tom';//定义变量$person为Tom

$str1 = '$person eat $food.';//定义变量$str1为$person eat $food.

$str2 = \"大众$person eat $food.\公众;//定义变量$str2为Tom eat apple.

$str3 = '\"大众$person\公众 eat \"大众$food\"大众.';//定义变量$str3为\公众$person\公众 eat \"大众$food\公众.

$str4 = \"大众'$person' eat '$food'.\"大众;//定义变量$str4为'Tom' eat 'apple'.

echo $str1.'<br><br>';//打印变量$str1

echo $str2.'<br><br>';//打印变量$str2

echo $str3.'<br><br>';//打印变量$str3

echo $str4.'<br><br>';//打印变量$str4

?>

结果: