php 常用字符串函数总结_PHP教程
程序员文章站
2022-06-15 19:17:55
...
1.格式化输出
chop 是rtrim()的别名;
ltrim()
trim()
nl2br()将\n转换成
print,echo,printf(),sprintf():
echo()不是函数,print()是函数,有返回值,boolen,false,true;
printf()格式化输出
--函数,把文字格式化以后输出,直接调用系统调用进行IO的,他是非缓冲的。如:
$name="hunte";
$age=25;
printf("my name is %s, age %d", $name, $age);
sprintf()格式化字符串,然后赋给一个变量,但是不输出,类似于c了
echo nl2br("foo isn't\n bar");
echo "foo isn't\n bar";
?>
--跟printf相似,但不打印,而是返回格式化后的文字,其他的与printf一样。如:
char sql[256];
sprintf(sql,"select * from table where no = '%s'",bankno);
它的功能只是把""里面的语句赋给了变量sql。
strtolower
strtoupper
ucwords
ucfirst
2.字符串的连接和分割
(1)array explode(string input ,string separator , int limit)
使用一个字符串分割另一个字符串
// 示例 1
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2
// 示例 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *
?>
例子 2. limit 参数示例
$str = 'one|two|three|four';
// 正数的 limit
print_r(explode('|', $str, 2));
// 负数的 limit
print_r(explode('|', $str, -1));
?>
string strtok( string input ,string separator)
$string = "This is\tan example\nstring";
/* Use tab and newline as tokenizing characters as well */
$tok = strtok($string, " \n\t");
//拿着空格,\n,\t作为令牌分割字符串
while ($tok !== false) {
echo "Word=$tok
";
$tok = strtok(" \n\t");
}
?>
结果:
Word=This
Word=is
Word=an
Word=example
Word=string
(2.)字符串的截取
$test="Your customer service is excellent";
echo substr($test,1);////////our customer service is excellent
echo "
";
echo substr($test,-9);//////从末尾起长度是9excellent
echo "
";
echo substr($test,0,4);////从0位置开始长度是4Your
echo "
";
echo substr($test,5,-13);/从第四个开始到倒数第13个字符customer service
echo "
";
$test="Your customer service is excellent";
echo substr($test,1);
echo "
";
echo substr($test,-11);
echo "
";
echo substr($test,0,6);
echo "
";
echo substr($test,5,-13);
echo "
";
our customer service is excellent
s excellent
Your c
customer service
(3)join()字符串的链接
3.字符串的查找
(1)string strstr ( string haystack, string needle ) 别名:strchr,stristr和strstr类似不同在于不区分大小写
strrchr()相反的,查找的是最后一次出现的字符串
第一次出现起的字符串
$email = 'user@example.com';
$domain = strstr($email, '@');
echo $domain; // prints @example.com
?>
$email = 'user@example.com';
$domain =strstr($email,'e');
$domain2 =strrchr($email,'e');//最后一次出现起的字符串
echo $domain;
echo "
";
echo $domain2;
er@example.com
e.com
(2)查找位置
int strpos(string str,string needle,[int offset]) 没有找到返回的是false
返回从offset开始在str中查找needle的位置
$eg:$t-'hello world';
echo strpos($t,'o',5);
//7 从第o开始,查找o这个变量的位置,结果为7
int strrpos()
5.替换
str_replace("%body%","blank","
6 。大写小问题
Strpos
查找字符串中第一次出现的字符串的位置
Strrpos
查找字符串中某字符,继第一次之后的最先出现的位置。
strpos(stripos无大小写)
strrpos(strripos无大小写)
strstr
stristr(无大小写)
str_replace
str_ireplace(无大小写)
chop 是rtrim()的别名;
ltrim()
trim()
nl2br()将\n转换成
print,echo,printf(),sprintf():
echo()不是函数,print()是函数,有返回值,boolen,false,true;
printf()格式化输出
--函数,把文字格式化以后输出,直接调用系统调用进行IO的,他是非缓冲的。如:
$name="hunte";
$age=25;
printf("my name is %s, age %d", $name, $age);
sprintf()格式化字符串,然后赋给一个变量,但是不输出,类似于c了
echo nl2br("foo isn't\n bar");
echo "foo isn't\n bar";
?>
--跟printf相似,但不打印,而是返回格式化后的文字,其他的与printf一样。如:
char sql[256];
sprintf(sql,"select * from table where no = '%s'",bankno);
它的功能只是把""里面的语句赋给了变量sql。
strtolower
strtoupper
ucwords
ucfirst
2.字符串的连接和分割
(1)array explode(string input ,string separator , int limit)
使用一个字符串分割另一个字符串
// 示例 1
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2
// 示例 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *
?>
例子 2. limit 参数示例
$str = 'one|two|three|four';
// 正数的 limit
print_r(explode('|', $str, 2));
// 负数的 limit
print_r(explode('|', $str, -1));
?>
string strtok( string input ,string separator)
$string = "This is\tan example\nstring";
/* Use tab and newline as tokenizing characters as well */
$tok = strtok($string, " \n\t");
//拿着空格,\n,\t作为令牌分割字符串
while ($tok !== false) {
echo "Word=$tok
";
$tok = strtok(" \n\t");
}
?>
结果:
Word=This
Word=is
Word=an
Word=example
Word=string
(2.)字符串的截取
$test="Your customer service is excellent";
echo substr($test,1);////////our customer service is excellent
echo "
";
echo substr($test,-9);//////从末尾起长度是9excellent
echo "
";
echo substr($test,0,4);////从0位置开始长度是4Your
echo "
";
echo substr($test,5,-13);/从第四个开始到倒数第13个字符customer service
echo "
";
$test="Your customer service is excellent";
echo substr($test,1);
echo "
";
echo substr($test,-11);
echo "
";
echo substr($test,0,6);
echo "
";
echo substr($test,5,-13);
echo "
";
our customer service is excellent
s excellent
Your c
customer service
(3)join()字符串的链接
3.字符串的查找
(1)string strstr ( string haystack, string needle ) 别名:strchr,stristr和strstr类似不同在于不区分大小写
strrchr()相反的,查找的是最后一次出现的字符串
第一次出现起的字符串
$email = 'user@example.com';
$domain = strstr($email, '@');
echo $domain; // prints @example.com
?>
$email = 'user@example.com';
$domain =strstr($email,'e');
$domain2 =strrchr($email,'e');//最后一次出现起的字符串
echo $domain;
echo "
";
echo $domain2;
er@example.com
e.com
(2)查找位置
int strpos(string str,string needle,[int offset]) 没有找到返回的是false
返回从offset开始在str中查找needle的位置
$eg:$t-'hello world';
echo strpos($t,'o',5);
//7 从第o开始,查找o这个变量的位置,结果为7
int strrpos()
5.替换
str_replace("%body%","blank","
6 。大写小问题
Strpos
查找字符串中第一次出现的字符串的位置
Strrpos
查找字符串中某字符,继第一次之后的最先出现的位置。
strpos(stripos无大小写)
strrpos(strripos无大小写)
strstr
stristr(无大小写)
str_replace
str_ireplace(无大小写)
上一篇: 深入剖析php执行原理(4):函数的调用