[整理]php常用函数及运用场景----字符串函数str

场景一: 要将带下划线数据表名转成大驼峰法 

例:member_login_log  转 MemberLoginLog


$modelName =implode(array_map('ucfirst' , explode('_' , 'member_login_log')));


explode : 将字符串根据特定字符分割,结果得到一个数组

ucfirst : 将字符串第一个字符改大写

array_map :将函数作用到数组中的每个值上,并返回带有新值的数组

implode :  把数组元素组合为字符串


场景二:字符串替换

把字符串 "Hello world!" 中的字符 "world" 替换为 "Shanghai":


                $search = ['__CONTROLLER__','__MODEL__','__PK_FIELD__'];
                $replace = [$controllerName,$modelName,$pkField];
                $template = APP_PATH.'Back/Code/controller.template';
                $content = file_get_contents($template);
                $content = str_replace($search,$replace,$content);
                $controllerFile = APP_PATH . 'Back/Controller/' . $controllerName . 'Controller.class.php';
                file_put_contents($controllerFile, $content);
说明:

上例代码是将代码模板字符串替换,并保存为.php文件

file_get_contents() 函数把整个文件读入一个字符串中

file_put_contents() 函数把一个字符串写入文件中。[ 与依次调用 fopen(),fwrite() 以及 fclose() 功能一样。]



场景三:通过一个正则表达式分隔字符串

preg_split

(PHP 4, PHP 5)

preg_split — 通过一个正则表达式分隔字符串

说明

array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int$flags = 0 ]] )

通过一个正则表达式分隔给定字符串.

参数

pattern

用于搜索的模式, 字符串形式.

subject

输入字符串

limit

如果指定, 将限制分隔得到的子串最多只有limit个, 返回的最后一个 子串将包含所有剩余部分.limit值为-1, 0或null时都代表"不限制", 作为php的标准, 你可以使用null跳过对flags的设置.

flags

flags可以是任何下面标记的组合(以位或运算|组合):

PREG_SPLIT_NO_EMPTY
如果这个标记被设置, preg_split()将进返回分隔后的非空部分.
PREG_SPLIT_DELIM_CAPTURE
如果这个标记设置了, 用于分隔的模式中的括号表达式将被捕获并返回.
PREG_SPLIT_OFFSET_CAPTURE

如果这个标记被设置, 对于每一个出现的匹配返回时将会附加字符串偏移量. 注意: 这将会改变返回数组中的每一个元素, 使其每个元素成为一个由第0 个元素为分隔后的子串, 第1个元素为该子串在subject 中的偏移量组成的数组.

返回值

返回一个使用pattern边界分隔subject后得到 的子串组成的数组.

//使用回车作为分隔符,把传递来的选项字符串分隔成数组

preg_splist('/\r\n | \n/' , $_POST['option_list']);



/*

*/

str_pad() 函数

实例

填充字符串的右侧,到 30 个字符的新长度:


运行实例

运行结果:       Hello World...................

定义和用法

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_repeat() 函数把字符串重复指定的次数

把字符串 "Shanghai " 重复 5 次:


定义和用法

str_repeat() 函数把字符串重复指定的次数。

语法

str_repeat(string,repeat)
参数 描述
string 必需。规定要重复的字符串。
repeat 必需。规定字符串将被重复的次数。必须大于等于 0。

场景:

无限级分类时用生成层次;例如  {:str_repeat(' ',$row['deep']*4)}


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

从字符串中返回 "world":

定义和用法

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

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

语法

substr(string,start,length)
参数 描述
string 必需。规定要返回其中一部分的字符串。
start

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

  • 正数 - 在字符串的指定位置开始
  • 负数 - 在从字符串结尾开始的指定位置开始
  • 0 - 在字符串中的第一个字符处开始
length

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

  • 正数 - 从 start 参数所在的位置返回的长度
  • 负数 - 从字符串末端返回的长度

场景:

用在url 路由截取.

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

实例

把数组元素组合为字符串:


运行实例

定义和用法

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

注释:implode() 函数接受两种参数顺序。但是由于历史原因,explode() 是不行的,您必须保证 separator 参数在 string 参数之前才行。

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

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

语法

implode(separator,array)
参数 描述
separator 可选。规定数组元素之间放置的内容。默认是 ""(空字符串)。
array 必需。要组合为字符串的数组。

技术细节

返回值: 返回由数组元素组合成的字符串。
PHP 版本: 4+
更新日志: 在 PHP 4.3.0 中,separator 参数变成可选的。



持续更新,未完待续!

你可能感兴趣的:(php函数库)