php入门教程之字符串函数学习笔记,实用教程

echo md5(“str”); // 计算字符串的 MD5 散列
echo md5_file(“setup.msi”); // 计算文件的 MD5
散列,可以用相对路径,也可以用绝对路径。
echo sha1(“str”); // 计算字符串的 SHA-1 散列
echo sha1_file(“setup.msi”); // 计算文件的 SHA-1
散列,可以用相对路径,也可以用绝对路径。

永利澳门游戏网站, 代码如下

  • PHP 实用教程-选择 PHP
    的理由
  • PHP
    实用教程-开始
  • PHP
    实用教程-变量与数据类型
  • PHP 实用教程-字符串
  • PHP
    实用教程-运算符
  • PHP
    实用教程-条件语句与循环语句
  • PHP
    实用教程-数组与函数
  • PHP
    实用教程-时间日期
  • PHP
    实用教程-文件与文件夹操作
  • PHP
    实用教程-引用文件(包含文件)
  • PHP
    实用教程-$_GET、$_POST、Cookie、Session
  • PHP
    实用教程-上传文件
  • PHP
    实用教程-错误和异常处理
  • PHP
    实用教程-验证过滤
  • PHP 实用教程-MySQL
    操作
  • PHP 实用教程-用 header()
    实现页面跳转

/* 格式 strrchr($string,’找这个字符 ‘) */ 
 
// 获取 $PATH 中不含磁盘符号的目录 
echo $dir = substr(strrchr($PATH, “:”), 1); //
\svn\TortoiseSVN\bin; 
echo ‘<br>’; 
// 获取最后一行内容 
$text = “Line 1\nLine 2\nLine 3”; 
echo $last = substr(strrchr($text, 10), 1 ); // Line3 
         
查找字符串的首次出现(区分大小写) – strstr
找到返回后面的字符,找不到返回false 【别名strchr】

  • PHP 实用教程-选择 PHP
    的理由
  • PHP
    实用教程-开始
  • PHP
    实用教程-变量与数据类型
  • PHP 实用教程-字符串
  • PHP
    实用教程-运算符
  • PHP
    实用教程-条件语句与循环语句
  • PHP
    实用教程-数组与函数
  • PHP
    实用教程-时间日期
  • PHP
    实用教程-文件与文件夹操作
  • PHP
    实用教程-引用文件(包含文件)
  • PHP
    实用教程-$_GET、$_POST、Cookie、Session
  • PHP
    实用教程-上传文件
  • PHP
    实用教程-错误和异常处理
  • PHP
    实用教程-验证过滤
  • PHP 实用教程-MySQL
    操作
  • PHP 实用教程-用 header()
    实现页面跳转

 

常用函数

 代码如下

echo strlen(“abc”); // 字符串长度
echo substr(“abcdefg”, 1, 1); // 输出 a。字符串第一个位置是 0
echo strpos(“abc”, “b”); // 输出 1。”b” 在 “abc” 中的位置。
echo stripos(“abc”, “B”); // 与 strpos() 功能类似,只是忽略大小写。
echo strstr(“abc”, “b”); // 输出 bc。”b” 在 “abc”
中第一次出现的位置开始到最后的子字符串。相当于 strpos 与 substr
的结合。
echo stristr(“abc”, “B”); // 与 strstr() 功能类似,只是忽略大小写。
echo strcmp(“abc”, “ABC”); // 比较字符串,返回值可能是 -1、0、1。
echo strcasecmp(“abc”, “ABC”); // 与 strcmp 功能类似,只是忽略大小写。

 代码如下

  • 字符串,可以用双引号括起来,也可以用单引号括起来。
  • 字符串连接用点(.)。
  • 字符串转义字符是左高右低斜杠()。
  • 同其他语言一样,rn 仍当作回车换行符。

  
$str = “Who’s John Adams?”; 
echo $str1=addslashes($str); // Who\’s John Adams?    
echo stripslashes($str1); // Who’s John Adams? 
         
在字符串中某些预定义的字符前添加反斜线 quotemeta(. \ + * ? [] ^ $
())


 

$str = “abc” . “def”;
$str2 = $str . ‘ghi””;
$str3 = $str .
        $str2;

< ?php
/*如手册上的举例*/
$email = ‘user@example.com’;
$domain = strstr($email, ‘@’);
echo $domain;
// prints @example.com
?>


代码如下:

echo trim(” 00 “); //
删除字符串两端空白字符和其他预定义字符,和其他一些语言不同,并不删除全角空格。
echo ltrim(” aa”); //
删除字符串左端空白字符和其他预定义字符,和其他一些语言不同,并不删除全角空格。
echo rtrim(“bb “); //
删除字符串右端空白字符和其他预定义字符,和其他一些语言不同,并不删除全角空格。

$str = “Who’s John Adams?”; 
echo addslashes($str); // Who\’s John Adams?    
         
删除addslashes()添加的转义字符
stripslashes

echo str_replace(“old”, “new”, “old string”); // 把 “old string” 中的
“old” 替换成 “new”
//str_ireplace // 与 str_replace 功能类似,只是忽略大小写。
print_r(explode(“|”, “1|2|3|4”)); // 将字符串按 “|” 分隔为数组。
echo str_repeat(“a”, 3); // 输出 aaa
echo str_pad(“a”, 3, “.”, STR_PAD_RIGHT); // 输出
a..。第四个参数:STR_PAD_BOTH –
填充到字符串的两头。如果不是偶数,则右侧获得额外的填充。STR_PAD_LEFT –
填充到字符串的左侧。STR_PAD_RIGHT – 填充到字符串的右侧。这是默认的。
echo strip_tags(“Hello <b>World</b>”); // 去除 HTML、XML
以及 PHP 的标签。
echo str_shuffle(“23456789TJQKA”); // 随机打乱字符串的位置。
//str_split(string,length) // 将 string
拆分成多个子字符串数组,每个子字符串的最大长度为 length,这和其他语言的
split 函数有区别,其他语言的 split 是按某个字符分隔字符串为子字符串。

$str= ‘abc’;
$needle= ‘a’;
$pos = strpos($str, $needle);

基础

转化为大写 – strtoupper – 返回转换为大写后的字符串

echo chr(97); // ASCII 到字符
echo ord(“a”); // 字符到 ASCII

             
打断字符串为指定数量的字串 – wordwrap

以上函数,有的是 PHP 3 版本就有的,有的是 PHP 5 版本中才有的。

/* 格式 strripos($str,’要找的字符’,从这个位置开始后面字符开始找) 
*/ 
$str=”My phpmyadmin user is root my phpmyadmin passwOrd is rOot”; 
var_dump(strripos($str,’O’,1)); // 55 
         
字符串统计

/* 格式:str_split(字符串,每一段的长度)  */ 
$str=’my name is cuilin. I am chinese boy.’; 
$arr=str_split($str,8); 
print_r($arr); //Array ( [0] => my name [1] => is cuili [2]
=> n. I am [3] => chinese [4] => boy. )  

/* 格式 str_replace(‘把这个东西’,’改成这个东西’,字符串) */ 
$string=”My phpmyadmin user is root and password is root”; 
$arr=array(‘m’,’p’,’i’,’d’); 
echo str_replace($arr,’*’,$string); // My *h**ya***n user *s
root an* *asswor* *s root    
         
使用一个字符将数组中的单元以字符串形式连接起来(不区分大小写) –
str_ireplace

/* 格式 stripcslashes(‘字符串’) */ 
$str = “Hello, my name is John Adams.”; 
echo $str1=addcslashes($str,’a..z’); // H\e\l\l\o, \m\y
\n\a\m\e \i\s J\o\h\n A\d\a\m\s.Hello, my name is John
Adams. 
echo stripcslashes($str1);/* – 转义 \n等所以会出现回车
Hello, my   
me is Joh  
 Adms.  
*/ 
         
指定预定义字符前添加反斜线 addslashes

echo $a=”admin 123″; 
print_r(str_shuffle($a)); // 1a m23din 

$string=”my phpmyadmin user
is root and password is root”; 
var_dump(substr($string,1,10)); // string(10) “y phpmyadm”   
var_dump(substr($string,1,-1)); // string(45) “y phpmyadmin user is
root and password is roo”  
/*结论    
   
如果第三个参数为正数说明要截取的字符串长度,如果为负数则截取到那个数的前面
*/ 
         

/* 格式:strtok(字符串,’符号分割’) */ 
$str=”hellow word ~I like php~asf”; 
var_dump(strtok($str,’~’)); //string(12) “hellow word ” 
var_dump(strtok(‘~’)); //string(10) “I like php” 
var_dump(strtok(‘~’)); //string(3) “asf” 
         
使用一个字符串为标志分割另一个字符串 – explode 返回一个数组

 代码如下

/* JavaScript中 str.length */ 
str=’admin’; 
document.write(str.length); //  
         
HTML标签有关

/* 格式 strlen($string) */ 
echo strlen(‘admin’); // 5 
         

 代码如下

 代码如下

PHP判断字符串的包含代码如下:

预定义转移字符html编码 – htmlspecialchars

/* 格式 strrpos($str,’要找的字符’,从这个位置开始后面字符开始找)  */ 
$str=”My phpmyadmin user is root my phpmyadmin passwOrd is rOot”; 
var_dump(strrpos($str,’O’,1));  // 54 
         
查找字符串最后次出现的位置(不区分大小写)- strripos
找到返回整数(0开始位置),失败返回false

/* JavaScript中的格式str.substr(开始下标,长度) */ 
var str=”Hello world!” 
document.write(str.substr(3,7)) //lo worl 
         
字符串查找替换

  1. 用explode进行判断

    
将字符串分割为数组 – str_split – 返回数组

/* JavaScript中 – arr.join(‘连接符’) */ 
var arr = new Array(3) 
arr[0] = “George” 
arr[1] = “John” 
arr[2] = “Thomas” 
 
document.write(arr.join(“.”)) // George.John.Thomas 
         
截取字符串 – substr
返回一个字符串或者false

  1. stristr:
    它和strstr的使用方法完全一样.唯一的区别是stristr不区分大小写.

  2. strpos: 返回boolean值.FALSE和TRUE不用多说.用
    “===”进行判断.strpos在执行速度上都比以上两个函数快,另外strpos有一个参数指定判断的位置,但是默认为空.意思是判断整个字符串.缺点是对中文的支持不好.

 代码如下

/* 格式 substr_replace($string,’替换为这个’,从这个(含),到这个前面的)
*/ 
$var = ‘ABCDEFGH:/MNRPQR/’; 
echo “Original: $var<br><br>\n”; 
 
/* 这两个例子使用 “bob” 替换整个 $var。*/ 
echo substr_replace($var, ‘bob’, 0); //bob 
echo substr_replace($var, ‘bob’, 0, strlen($var)); //bob 
/* 将 “bob” 插入到 $var 的开头处。*/ 
echo substr_replace($var, ‘bob’, 0, 0); //bobABCDEFGH:/MNRPQR/ 
/* 下面三个例子使用 “bob” 替换 $var 中的 “MNRPQR”。*/ 
echo substr_replace($var, ‘bob’, 10, -1); //ABCDEFGH:/bob/ 
echo substr_replace($var, ‘bob’, 10,strlen($var)-11);
//ABCDEFGH:/bob/ 
echo substr_replace($var, ‘bob’, -7, -1); //ABCDEFGH:/bob/ 
 
/* 从 $var 中删除 “MNRPQR”。*/ 
echo substr_replace($var, ”, 10, -1); //ABCDEFGH:// 
         
计算两个字符串的相似度。 – similar_text 返回相同字符数量 ,
返回在两个字符串中匹配字符的数目

/*结论
   
‘1…第四个参数如果是true(默认)符串总是在指定的宽度或者之前位置被打断。因此,如果有的单词宽度超过了给定的宽度,它将被分隔开来。’;
    ‘2…第四个参数为false的时候会按单词拆行,’;
*/ 
             
随机打乱字符串的顺序 – str_shuffle – 返回被打乱后的字符串

$arr=array(‘a’,’b’,’c’); 
var_dump(implode(‘-‘,$arr)); // a-b-c 
         

 代码如下

/* 格式 htmlspecialchars(‘字符串’,ENT_QUOTES) */ 
$var = “is  the answer to the 128th question”; 
echo str_word_count($var);//7 
echo $str = “John & ‘Adams’ <a href=”index.html”>首页</a>”;
//John & ‘Adams’ 首页 ->会有超链接 
echo htmlspecialchars($str, ENT_QUOTES); //John & ‘Adams’ <a
href=”index.html”>首页</a> ->没有超链接,直接显示 
         
\n转义为<br>标签 – nl2br

使用一个字符将数组中的单元以字符串形式连接起来(区分大小写) –
str_replace 替换已知的字符串

$str=’ADMIN123′; 
echo strtolower($str); // admin123 
         
字符串第一个字符大写 – ucfirst – 返回第一个字符大写后的字符串

echo ord(‘*’); //42 
echo ord(‘`’); // 96 

/* 格式 strpos($str,’要找的字符’,从这个位置开始后面字符开始找)  */ 
$str=”My phpmyadmin user is root my phpmyadmin passwOrd is rOot”; 
var_dump(strpos($str,’m’,0));//6 
         
查找字符串首次出现的位置(不区分大小写)- stripos
找到返回整数(0开始位置),失败返回false

  1. strstr:
    返回一个从被判断字符开始到结束的字符串,如果没有返回值,则不包含

/* 格式 str_ireplace(‘把这个东西’,’改成这个东西’,字符串) */ 
$string=”My phpmyadmin user is root and password is root”; 
$arr=array(‘m’,’p’,’i’,’d’); 
echo str_ireplace($arr,’*’,$string); // *y *h**ya***n user *s
root an* *asswor* *s root    
         
返回某个字符串在 $string 中出现的次数 – substr_count
返回整数。区分大小写

去除字符串首尾处的空白字符或者任意字符 – trim – 返回去掉后的字符串

/* 格式 stripos($str,’要找的字符’,从这个位置开始后面字符开始找)  */ 
$str=”My phpmyadmin user is root my phpmyadmin passwOrd is rOot”; 
var_dump(stripos($str,’m’,0));//0 
         
查找字符串最后次出现的位置(区分大小写)- strrpos
找到返回整数(0开始位置),失败返回false

function checkstr($str){
$needle = “a”;//判断是否包含a这个字符
$tmparray = explode($needle,$str);
if(count($tmparray)>1){
return true;
} else{
return false;
}
}

/*
格式:str_pad(字符串,pad_length,用什么替换,STR_PAD_RIGHT(默认)/STR_PAD_LEFT/STR_PAD_BOTH) 
*/ 
$a=”admin”; 
echo str_pad($a,8,’*’); //admin*** 
echo str_pad($a,8,’*’,STR_PAD_RIGHT); // admin*** 
echo str_pad($a,8,’*’,STR_PAD_LEFT); // ***admin 
echo str_pad($a,8,’*’,STR_PAD_BOTH); // *admin** 
/* 结论
‘1…STR_PAD_BOTH的时候如果是只能填充奇数的,右边会多于左边’;
‘2…第四个参数默认为STR_PAD_RIGHT’;
‘3…如果第二个数小于等于字符串的长度或者负数,不会发生填充’;
*/ 

  • 第三个第四个参数得同时用否则警告*/ 
    $n=123456789.456; 
    echo number_format($n); // 123,456,789 
    echo number_format($n,2); //123,456,789.46 
    echo number_format($n,2,’.’,’:’);//123:456:789.46 

/* 格式:trim(字符串,’要去掉的特殊字符可以是多个’) */ 
$str=trim(‘     admin ‘);  
echo $str; // admin 两边无空格 
 
echo $str=trim(‘ admin ********’,’* ‘); // admin 
echo strlen($str); // 5 通过长度得知字符有没有被去掉 

把字符串填充为指定的长度 – str_pad – 返回被填充后的字符串

发表评论

电子邮件地址不会被公开。 必填项已用*标注