从09年开始使用JAVA到现在差不多5年多了,然后由于即将要去的公司(研究僧终于要毕业了!)是使用PHP,Python作为后台开发语言的,所以要开始一段双P的学习旅程。用过PHP的都说这是很简单的一门语言,但是在我看来任何事情都是会者不难,所以还是从基础点滴学起吧。就从最基础的字符串处理开始学习,主要参考资料是W3SCHOOL的内容。

1、addslashes()函数在指定的预定义字符前添加反斜杠。这些预定义字符是:单引号 ('),双引号 ("),反斜杠 (\),NULL。
语法:addslashes(string);
说明:该函数可用于为存储在数据库中的字符串以及数据库查询语句准备合适的字符串。默认情况下,PHP 指令 magic_quotes_gpc 为 on,对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。
例子:

<?php
$str = "Who's John Adams?";
echo $str . " This is not safe in a database query.<br />";
echo addslashes($str) . " This is safe in a database query.";
?>

输出

Who's John Adams? This is not safe in a database query.
Who\'s John Adams? This is safe in a database query.

2、addcslashes() 函数在指定的字符前添加反斜杠。
语法:addcslashes(string,characters)
说明:在对 0,r,n 和 t 应用 addcslashes() 时要小心。在 PHP 中,\0,\r,\n 和 \t 是预定义的转义序列。
例子:

<?php
$str = "Hello, my name is John Adams.";
echo $str;
echo addcslashes($str,'m');
echo addcslashes($str,'J');
?>

输出:
Hello, my name is John Adams.
Hello, \my na\me is John Ada\ms.
Hello, my name is \John Adams.

<?php
$str = "Hello, my name is John Adams.";
echo $str;
echo addcslashes($str,'A..Z');
echo addcslashes($str,'a..z');
echo addcslashes($str,'a..h');
?>

输出:
Hello, my name is John Adams.
\Hello, my name is \John \Adams.
H\e\l\l\o, \m\y \n\a\m\e \i\s J\o\h\n A\d\a\m\s.
H\ello, my n\am\e is Jo\hn A\d\ams.

3、bin2hex() 函数把 ASCII 字符的字符串转换为十六进制值。
语法:bin2hex(string)
例子:

<?php
$str = "Hello world!";
echo bin2hex($str);
echo pack("H*",bin2hex($str));
?>

输出:
48656c6c6f20776f726c6421
Hello world!

4、chop() 函数从字符串的末端开始删除空白字符或其他预定义字符。
该函数的 rtrim() 函数的别名。该函数只能去除从末端开始的指定字符,
如果指定字符从末端开始到它之间有其他非指定字符,则不会被删除。例如abc\n\n,两个\n都可以被删除,如果是
ab\nc\n只能删除最右边的那个\n。
语法:chop(string,charlist)
参数说明:charlist——可选。规定从字符串中删除哪些字符。如果未设置该参数,则全部删除以下字符:
"\0" - ASCII 0, NULL
"\t" - ASCII 9, 制表符
"\n" - ASCII 10, 新行
"\x0B" - ASCII 11, 垂直制表符
"\r" - ASCII 13, 回车
" " - ASCII 32, 空格

5、chr() 函数从指定的 ASCII 值返回字符。
语法:chr(ascii)
说明:ascii 参数可以是十进制、八进制或十六进制。通过前置 0 来规定八进制,通过前置 0x 来规定十六进制。
例子:

<?php
echo chr(52);
echo chr(052);
echo chr(0x52);
?>

输出:
4
*
R

PHP学习系列(1)——字符串处理函数(1)的更多相关文章

  1. hive 学习系列四(用户自定义函数)

    如果入参是简单的数据类型,直接继承UDF,实现一个或者多个evaluate 方法. 具体流程如下: 1,实现大写字符转换成小写字符的UDF package com.example.hive.udf; ...

  2. Python学习系列----第四章 函数

    4.1 函数定义   函数是python中重要的工具.函数用关键字 def 来定义.def 关键字后跟一个函数的标识符名称,然后跟一对圆括号.圆括号之中可以包括一些变量名,该行以冒号结尾.接下来是一块 ...

  3. Python学习系列(四)(列表及其函数)

    Python学习系列(四)(列表及其函数) Python学习系列(一)(基础入门) Python学习系列(二)(基础知识) Python学习系列(三)(字符串) 一.基本概念 1,列表是什么?     ...

  4. Python学习系列(三)(字符串)

    Python学习系列(三)(字符串) Python学习系列(一)(基础入门) Python学习系列(二)(基础知识) 一个月没有更新博客了,最近工作上有点小忙,实在是没有坚持住,丢久又有感觉写的必要了 ...

  5. SQLServer学习笔记<>sql的范围内查找,sql数据类型,字符串处理函数

    sql的范围内查找 (1)between.....and用法 通常情况下我们查找一个在某固定区域内的所有记录,可以采用>=,<=来写sql语句,例如:查找订单价格在1000到2000之间的 ...

  6. opencv-python教程学习系列4-opencv绘图函数

    前言 opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍opencv绘图函数,坚持学习,共同进步. 系列教程参照OpenCV-Python中文教程: 系统 ...

  7. Sql server函数的学习2(游标函数、日期函数、字符串操纵函数)

    一.游标函数与变量 游标可以处理多行数据,在过程循环中一次访问一行.和基于集合的高效操作相比,这个功能对系统资源的消耗更大. 可以用一个函数和两个全局变量来管理游标操作 1.CURSOR_STATUS ...

  8. hive 学习系列之七 hive 常用数据清洗函数

    1,case when 的利用,清洗诸如评分等的内容,用例如下. case when new.comment_grade = '五星商户' then 50 when new.comment_grade ...

  9. perl学习之:字符串函数

    一.打开.关闭文件 open的返回值用来确定打开文件的操作是否成功,当其成功时返回非零值,失败时返回零,因此可以如下判断:    if (open(MYFILE, "myfile" ...

  10. (C/C++学习)13.C语言字符串处理函数(一)

    说明:字符串处理的函数很多,本文将例举经常遇到的一些函数加以说明. 一.字符串的输入输出 头文件:<stdio.h> 1.利用标准输出函数 printf() 来输出,将格式设置为 s% . ...

随机推荐

  1. OpenSSL初瞻及本系列的博文的缘由

    OpenSSL初瞻及本系列的博文的缘由1.为什么要写关于“OpenSSL源码分析与学习笔记”系列博文?非常重要的两个原因是Heartbleed和学校课程.我虽然是一个非常崇尚自学的人但是并不代表我不擅 ...

  2. 转:堆(heap)和栈(stack)有什么区别??

    简单的可以理解为: heap:是由malloc之类函数分配的空间所在地.地址是由低向高增长的. stack:是自动分配变量,以及函数调用的时候所使用的一些空间.地址是由高向低减少的. 预备知识—程序的 ...

  3. hdu 1543 Paint the Wall

    http://acm.hdu.edu.cn/showproblem.php?pid=1543 #include <cstdio> #include <cstring> #inc ...

  4. I2C的读写操作实验

    [实验任务]   利用24C08断电以后存储的数据不消失的特点,可以做一个断电保护装置.首先利用单片机做一个0-99秒的自动计时器.然后随机关断电源,在 通电以后计时器接着断电前的状态继续计时. [实 ...

  5. hibernate 映射<四>多对一双向映射

    学生和班级的例子来说,多个学生可以对应一个班级. 1.站在学生角度来说,学生就是多端.那么我们可以通过多对一来维护2者的关系. 2.站在班级的角度来说,班级就是一端.那么我们可以通过一对多啦维护2者的 ...

  6. poj 2287 动态规划

    用贪心简单证明之后就是一个从两头取的动态规划 #include <iostream> #include <cstring> #include <cstdio> #i ...

  7. HDU_2056——相交矩形的面积

    Problem Description Given two rectangles and the coordinates of two points on the diagonals of each ...

  8. FZU 11月月赛D题:双向搜索+二分

    /* 双向搜索感觉是个不错的技巧啊 */ 题目大意: 有n的物品(n<=30),平均(两个人得到的物品差不能大于1)分给两个人,每个物品在每个人心目中的价值分别为(vi,wi) 问两人心目中的价 ...

  9. hdu1166敌兵布阵

    敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  10. Solr4.4.0部署到tomcat上

    主要步骤如下: 1.下载solr-4.4.0.tgz 2.解压缩solr-4.4.0.tgz,命令tar -xzvf solr-4.4.0.tgz 3.压缩后进入到solr-4.4.0目录,将 exa ...