本文实例讲述了php字符串函数 str类常见用法。分享给大家供大家参考,具体如下:
str_split(string, leg);//将一个字符 串转换为数组,参数1:要被转换的字符串,参数2:每 段长度, 返回一个转换后的数组
例:
Array
(
[0] => Hel
[1] => lo
[2] => Fri
[3] => end
)
ord(string);//返回字符的ASCII码值,,,返回字符串string第一个字符的ASCII码值
例:$test = 'abc';
$offset = 0; while ($offset >= 0) { echo $offset.": ".ordutf8($text, $offset)."\n"; // 97,98,99
sizeof();//count()的别名
end();//将数组的内部指针指向最后一个单元
strlen($string);//获取字符串长度
例:
echo strlen('hai');//3
sprintf(format, arg1, arg2, arg++);//把格式化的字符串写入变量中。
- format:规定字符串以及如何格式化其中的变量
- arg1:规定插到 format 字符串中第一个 % 符号处的参数。
- arg2:规定插到 format 字符串中第二个 % 符号处的参数。
例:
"; // 二进制数 echo sprintf("%%c = %c",$char)."
"; // ASCII 字符 echo sprintf("%%d = %d",$num1)."
"; // 带符号的十进制数 echo sprintf("%%d = %d",$num2)."
"; // 带符号的十进制数 echo sprintf("%%e = %e",$num1)."
"; // 科学计数法(小写) echo sprintf("%%E = %E",$num1)."
"; // 科学计数法(大学) echo sprintf("%%u = %u",$num1)."
"; // 不带符号的十进制数(正) echo sprintf("%%u = %u",$num2)."
"; // 不带符号的十进制数(负) echo sprintf("%%f = %f",$num1)."
"; // 浮点数(视本地设置) echo sprintf("%%F = %F",$num1)."
"; // 浮点数(不视本地设置) echo sprintf("%%g = %g",$num1)."
"; // 短于 %e 和 %f echo sprintf("%%G = %G",$num1)."
"; // 短于 %E 和 %f echo sprintf("%%o = %o",$num1)."
"; // 八进制数 echo sprintf("%%s = %s",$num1)."
"; // 字符串 echo sprintf("%%x = %x",$num1)."
"; // 十六进制数(小写) echo sprintf("%%X = %X",$num1)."
"; // 十六进制数(大写) echo sprintf("%%+d = %+d",$num1)."
"; // 符号说明符(正) echo sprintf("%%+d = %+d",$num2)."
"; // 符号说明符(负) ?>
返回结果:
%b = 111010110111100110100010101
%c = 2
%d = 123456789
%d = -123456789
%e = 1.234568e+8
%E = 1.234568E+8
%u = 123456789
%u = 18446744073586094827
%f = 123456789.000000
%F = 123456789.000000
%g = 1.23457e+8
%G = 1.23457E+8
%o = 726746425
%s = 123456789
%x = 75bcd15
%X = 75BCD15
%+d = +123456789
%+d = -123456789
substr_replace(mixed $string , mixed $replacement , mixed $start [, mixed $length ]);// 替换字符串的子串
- $string:输入的字符串,
- $replacement:用来替换的字符串,
- $start:为正数时,从$string的start位置开始,为负数时,从$string的末尾开始,,,,
- $lenght:为正数时,表示被替换的子字符串的长度。为负数时,表示待替换的子字符串结尾处距离string末端的字符个数。
\n"; /* 这两个例子使用 "bob" 替换整个 $var。*/ echo substr_replace($var, 'bob', 0) . "
\n"; echo substr_replace($var, 'bob', 0, strlen($var)) . "
\n"; /* 将 "bob" 插入到 $var 的开头处。*/ echo substr_replace($var, 'bob', 0, 0) . "
\n"; /* 下面两个例子使用 "bob" 替换 $var 中的 "MNRPQR"。*/ echo substr_replace($var, 'bob', 10, -1) . "
\n"; echo substr_replace($var, 'bob', -7, -1) . "
\n"; /* 从 $var 中删除 "MNRPQR"。*/ echo substr_replace($var, '', 10, -1) . "
\n"; ?>
strpos();//查找字符串首次出现的位置。
1、
2、
3、
preg_split($pet, $str);//通过一个正则表达式分隔字符串;
$keywords = preg_split("/[\s,]+/", "hypertext language, programming"); print_r($keywords);
输出:
array(3) {
[0]=> string(9) "hypertext"
[1]=> string(8) "language"
[2]=> string(11) "programming"
}
explode($del, $str, $limit);//使用一个字符串分割另一个字符串
- $del:分隔符
- $str :字符串
- $limit:如果设置了 limit 参数并且是正数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。如果 limit 参数是负数,则返回除了最后的 -limit 个元素外的所有元素,如果 limit 是 0,则会被当做 1。
以上例程会输出:
Array
(
[0] => one
[1] => two|three|four
)
Array
(
[0] => one
[1] => two
[2] => three
)
parse_str($str);//将字符串解析成多个变量
$str = "first=value&arr[]=foo+bar&arr[]=baz"; parse_str($str); echo $first; // value echo $arr[0]; // foo bar echo $arr[1]; // baz parse_str($str, $output); echo $output['first']; // value echo $output['arr'][0]; // foo bar echo $output['arr'][1]; // baz
strstr($string,$needle,$before_needle);//查找字符串的首次出现
- string,输入字符串。
- needle,如果 needle 不是一个字符串,那么它将被转化为整型并且作为字符的序号来使用。
- before_needle,若为 TRUE,strstr() 将返回 needle 在 haystack 中的位置之前的部分。
substr($string,$start,$lenght);// 返回字符串的子串(返回字符串 string 由 start 和 length 参数指定的子字符串)
1、
2、
3、
strtr();//转换指定字符
string strtr ( string $str , string $from , string $to )
string strtr ( string $str , array $replace_pairs )
该函数返回 str 的一个副本,并将在 from 中指定的字符转换为 to 中相应的字符。 比如, $from[$n]中每次的出现都会被替换为 $to[$n],其中 $n 是两个参数都有效的位移(offset)。
如果 from 与 to 长度不相等,那么多余的字符部分将被忽略。 str 的长度将会和返回的值一样。
1、
使用两个参数的 strtr() 范例
"hi", "hi" => "hello"); echo strtr("hi all, I said hello", $trans); ?>
以上例程会输出:
hello all, I said hi
2、
"01"); echo strtr("baab", $trans); ?>
以上例程会输出:
1001
ba01
str_replace(mixed $search , mixed $replace , mixed $subject [, int &$count ]);//子字符串替换
该函数返回一个字符串或者数组。该字符串或数组是将 subject 中全部的 search 都被 replace 替换之后的结果
$bodytag = str_replace("%body%", "black", ""); // 赋值: Hll Wrld f PHP $vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U"); $onlyconsonants = str_replace($vowels, "", "Hello World of PHP"); // 赋值: You should eat pizza, beer, and ice cream every day $phrase = "You should eat fruits, vegetables, and fiber every day."; $healthy = array("fruits", "vegetables", "fiber"); $yummy = array("pizza", "beer", "ice cream"); $newphrase = str_replace($healthy, $yummy, $phrase); // 赋值: 2 $str = str_replace("ll", "", "good golly miss molly!", $count); echo $count; ?>
'; // 首先替换 \r\n 字符,因此它们不会被两次转换 $newstr = str_replace($order, $replace, $str); // 输出 F ,因为 A 被 B 替换,B 又被 C 替换,以此类推... // 由于从左到右依次替换,最终 E 被 F 替换 $search = array('A', 'B', 'C', 'D', 'E'); $replace = array('B', 'C', 'D', 'E', 'F'); $subject = 'A'; echo str_replace($search, $replace, $subject); // 输出: apearpearle pear // 由于上面提到的原因 $letters = array('a', 'p'); $fruit = array('apple', 'pear'); $text = 'a p'; $output = str_replace($letters, $fruit, $text); echo $output; ?>
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php常用函数与技巧总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。