php string常用函数
<?php $a[]='a'; $a[]='b'; $a[]='C'; echo "</br>"; /* implode — 将一个一维数组的值转化为字符串 说明 string implode ( string $glue , array $pieces ) string implode ( array $pieces ) 用 glue 将一维数组的值连接为一个字符串。 参数 glue 默认为空的字符串。 pieces 你想要转换的数组。 返回值 返回一个字符串,其内容为由 glue 分割开的数组的值。 范例 */ $array = array('lastname', 'email', 'phone'); $comma_separated = implode(",", $array); echo $comma_separated; // lastname,email,phone // Empty string when using an empty array: var_dump(implode('hello', array())); // string(0) "" $str=''; foreach($a as $k=>$v){ $str.='.'.$v; //结果为 .a.b.C } /* trim — 去除字符串首尾处的空白字符(或者其他字符) 说明 string trim ( string $str [, string $charlist = " \t\n\r\0\x0B" ] ) 此函数返回字符串 str 去除首尾空白字符后的结果。如果不指定第二个参数,trim() 将去除这些字符: • " " (ASCII 32 (0x20)),普通空格符。 • "\t" (ASCII 9 (0x09)),制表符。 • "\n" (ASCII 10 (0x0A)),换行符。 • "\r" (ASCII 13 (0x0D)),回车符。 • "\0" (ASCII 0 (0x00)),空字节符。 • "\x0B" (ASCII 11 (0x0B)),垂直制表符。 参数 str 待处理的字符串。 charlist 可选参数,过滤字符也可由 charlist 参数指定。一般要列出所有希望过滤的字符,也可以使用 ".." 列出一个字符范围。 返回值 过滤后的字符串 */ $str=trim($str,'.'); //去除两边的空格或者指定字符串,去除两边的'.'如果有就去除,没有就不变,输出结果为 a.b.C $str=str_replace('.','-',$str);//搜索指定字符串中的'.'号,用空格替换; 输出结果为 a-b-C //mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] ) echo $str; $c = explode('-',$str); //用空格把制定字符串分割成数组元素;返回数组输出结果为array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "C" } var_dump($c); echo '<hr>'; /* 替换字符串函数 mixed substr_replace ( mixed $string , mixed $replacement , mixed $start [, mixed $length ] ) 参数 string 输入字符串。 replacement 替换字符串。 start 如果 start 为正数,替换将从 string 的 start 位置开始。 如果 start 为负数,替换将从 string 的倒数第 start 个位置开始。 length 如果设定了这个参数并且为正数,表示 string 中被替换的子字符串的长度。如果设定为负数,它表示待替换的子字符串结尾处距离 string 末端的字符个数。如果没有提供此参数,那么它默认为 strlen( string ) (字符串的长度)。当然,如果 length 为 0,那么这个函数的功能为将 replacement 插入到 string 的 start 位置处。 */ $str=substr_replace($str,'d-',0,0);//如果mixed $length参数为0,会将relpacement插入到 string 的 start 位置处,输出结果为 d-a-b-C $str=substr_replace($str,'e-',0,'');//如果mixed $length参数为'',和设置参数为0结果一样,输出结果为 e-d-a-b-C $str=substr_replace($str,'f-',0,3); //如果mixed $length参数为3,表示string中将要被替换的字符串长度,表示字符串下标从0开始向后数3位将会被'f-'代替,输出结果为 f--a-b-c $str=substr_replace($str,'g-',0,-3); //如果mixed $length参数为-3,表示字符串string末位下标(包括末位下标)向前数3位对应下标的字符串(假设为对应的字符串为x,末位下标对应的字符串到字符串x之间的字符串)将会被保留,start下标对应的字符串到字符串x之间的字符串则被'g-'替换,输出结果为 g-b-c $str=substr_replace($str,'h-',0,-10); //如果mixed $length参数为-3,表示字符串string下标末位向前数10位字符串将会被保留其他则被'g-'替换,所有字符串都将会保留输出结果为 h-g-b-c $str=substr_replace($str,'i',0);//如果mixed $length不设参数,输出结果为 i /* string substr ( string $string , int $start [, int $length ] ) 返回字符串 string 由 start 和 length 参数指定的子字符串。 参数 string 输入字符串。必须至少有一个字符。 start 如果 start 是非负数,返回的字符串将从 string 的 start 位置开始,从 0 开始计算。例如,在字符串 "abcdef" 中,在位置 0 的字符是 "a",位置 2 的字符串是 "c" 等等。 如果 start 是负数,返回的字符串将从 string 结尾处向前数第 start 个字符开始; 如果length为负数,返回从字符串下标从start开始(包括start)(假如开始下标对应的字符串为a),到从字符串末位下标向前数length位对应字符串(假如向前数length位对应字符串为b),返回字符串为a(包括a)与b(不包括b)之间的数 如果 string 的长度小于 start,将返回 FALSE。 */ $str1=123456; //$str1=substr($str1,0,3); //返回从字符串下标从0开始(包括0),向后数3位长度的字符串,输出结果为123 //$str1=substr($str1,-3,-1); //输出结果为45 $str2=substr($str1,0,-2); //去掉最后两位,返回结果为1234 $str3=substr($str1,2,-2); //返回从字符串下标从2开始(从3开始),到从字符串末位下标向前数2位对应字符串(对应字符串5,不包括5)之间的数,输出结果为34 echo $str2."</br>"; echo $str3."</br>"; ?>