04.string
[toc]
# String 方法
echo & print
// 打印字符串
echo "hello";
print("hello");
2
3
printf()
// 格式化输出字符串
/**
* 1. %b 二进制数 %o 八进制 %x 十六进制
* 2. %c,(1010) 依照 ASCII 值的字
* 3. %d 整型
* 4. %f 浮点数 %.3f -> 保留3位小数
* 5. %s 字符串
*/
$str = "123 abc";
printf("整数:%d",$str);
printf("浮点数:%.3f",$str);
2
3
4
5
6
7
8
9
10
11
12
var_dump() 打印变量的数据类型和值
$arr = range('a','z');
var_dump($arr);
2
html_entity_decode()函数把 HTML 实体转换为字符。
$str = "i am gogo>";
echo html_entity_decode($str); // i am ; gogo>;
2
3
上面的下面的两个函数的有第二个参数:
规定如何解码单引号和双引号。 ENT_COMPAT - 默认。仅解码双引号。 ENT_QUOTES - 解码双引号和单引号。 ENT_NOQUOTES - 不解码任何引号。
htmlspecialchars() 将标签解析为html实体输出
$str = "John & 'Adams'";
echo htmlspecialchars($str, ENT_QUOTES); // John & 'Adams'
2
3
join() 把数组元素组合为一个字符串
就是 implode()
$arr = range('a','e');
print_r join('',$arr); // str = abcde
2
ltrim(),rtrim()和trim()删除空格或其他预定义字符
// ltrim() 左侧删除
// rtrim() 右侧删除
// trim() 左右都删除
$str = " sfdasf bac & ";
echo trim($str); //sfdasf bac &
echo trim($str,'aa'); //sfdasf bac &
2
3
4
5
6
重要: md5() 计算字符串的 MD5 散列。 md5+加盐 保存密码
// md5() 函数使用 RSA 数据安全,包括 MD5 报文摘译算法。
// 加盐函数 -- 26个英文随机输出四个,拼接密码 md加密
$str = '123455';
echo md5($str);
//任何字符串转换为固定的32位字符串
2
3
4
5
6
function salting()
{
/**
* 加盐函数, 随机生产4个英文字母
*/
$arr = range('a','z');
print_pre($arr);
$salting_arr = [];
for($i=0;$i<4;$i++){
$rand = $arr[array_rand($arr)];
if(!in_array($rand,$salting_arr)){
$salting_arr[] = $rand;
}else{
$i--;
}
}
// return $salting_arr;
$rand_str = join('',$salting_arr);
return $rand_str;
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
nl2br() nl2br() 函数在字符串中的每个新行 (\n) 之前插入 HTML 换行符 (<br />)。
$str = "one \n dsafsd
dafsdf
fdasfd\n";
echo nl2br($str); // 只要有\n和换行的地方都会br
2
3
4
5
==重要==sha1() 函数计算字符串的 SHA-1 散列。
// 也是加密
$password = "12345";
echo sha1($password);
2
3
4
sha1_file() 计算文件的 SHA-1 散列。
md5_file() 计算文件的 MD5 散列。
// 都是 验证文件的完整性 进行验证
$filename = "a.txt"; //获取到文件
echo md5_file($filename);
file_put_contents() // 存入覆盖文件
file_get_contents() // 读取文件全部内容
2
3
4
5
6
str_replace() str_ireplace() 都是 使用一个字符串替换字符串中的另一些字符。
| 参数 | 描述 |
|---|---|
| find | 必需。规定要查找的值。 |
| replace | 必需。规定替换 find 中的值的值。 |
| string | 必需。规定被搜索的字符串。 |
| count | 可选。一个变量,对替换数进行计数。 |
// 注意参数的位置
$str = "hello world aaabbb";
echo str_replace('a','b',$str); // hello world bbbbbb替换全部
echo str_replace('a','b',$srt,4); //参数
//str_replace区分大小写
//str_ireplace不区分大小写
2
3
4
5
6
7
strpos() stripos() strripos() 找到字符串位置
// strpos() 区分大小写, 找到另一个字符第一次出现的位置
// stripos() 不区分大小写, 找到另一个字符第一次出现的位置
// strripos() 不区分大小写, 找到另一个字符最后一次出现的位置
echo strripos($str,'ll'); // 14 索引
2
3
4
5
strstr() / strchr()一样 stristr()/strichr 找到字符串的其他位置
//strstr() 函数查找字符串在另一个字符串中第一次出现的位置。 则返回字符串的其余部分(从匹配点) 不区分大小写 包含自己
// stristr() 区分大小写
$str = "hello world";
echo strstr($str,'l'); // 区分大小写 llo world
2
3
4
5
str_repeat() 函数把字符串重复指定的次数。
// 重复次数
echo str_repeat($str,'l'); //3
2
str_shuffle() 函数随机地打乱字符串中的所有字符。
$str = 'abcdef
echo str_shuffle($str); //随机
2
==重要==str_split() 字符串分割到数组中。
| 参数 | 描述 |
|---|---|
| string | 必需。规定要分割的字符串。 |
| length | 可选。规定每个数组元素的长度。默认是 1。 |
// 和explode()
$str = 'hello world cc';
$arr = explode(' ',$str); // ['hello','world','cc']
//str_split() 用法不同
$arr = str_split($str,3); //每个数组的长度 3
2
3
4
5
6
7
strip_tages() 数剥去 HTML、XML 以及 PHP 的标签。
| 参数 | 描述 |
|---|---|
| string | 必需。规定要检查的字符串。 |
| allow | 可选。规定允许的标签。这些标签不会被删除。 |
echo strip_tags("Hello <b>world!</b>"); // b标签删除
// 取消b标签,删除i标签
echo strip_tags("Hello <b><i>world!</i></b>","<b>");
2
3
==重要==strlen() 返回字符串的长度。
echo strlen("hello"); //5
strrev() 反转字符串。
echo strrev("hello"); //olleh
==重要==strtolower() strtoupper()字符串转换为小大写。
// strtolower() 小写
echo strtolower("HELLO");
// strtoupper() echo strtolower(“HELLO”)大写
2
3
重要 substr() 字符串截取。
| 参数 | 描述 |
|---|---|
| string | 必需。规定要返回其中一部分的字符串。 |
| start | 必需。规定在字符串的何处开始。 正数 - 在字符串的指定位置开始 负数 - 在从字符串结尾的指定位置开始 0 - 在字符串中的第一个字符处开始 |
| length | 可选。规定要返回的字符串长度。默认是直到字符串的结尾。 正数 - 从 start 参数所在的位置返回 负数 - 从字符串末端返回 |
// 很强大
echo substr("aaaaaabbbb",5,4);
2
ucfirst() 字符串中的首字符转换为大写。
ucwords() 字符串中每个单词的首字符转换为大写。
echo ucfirst("hello world"); //Hello world
echo ucwords("hello world"); //Hello World
2
nl2br() 字符串内的文本换行符变成html换行符<br>
$str = "aa
bb
cc";
echo nl2br($str);
2
3
4