首页 > Web开发 > 详细

PHP字符串函数

时间:2020-03-31 09:41:01      阅读:77      评论:0      收藏:0      [点我收藏+]

ord 将字符变为ascii字符串的处理方式

  • C语言 字节数组 char[] = ""。
  • Java 对象。
  • PHP 作为源生数据类型来处理的。
字符串解析变量
//PHP中只有双引号("")才能解析变量
$name = "哈哈";
echo "今天真是快乐$name";		//正常输出
echo "今天真是快乐$name啊";   //报错,因为没有变量“$name啊”
							//PHP会把$后的合法字符当做变量的一部分

为了避免歧义,我们应该在变量外加花括号({})echo "今天真是快乐{$name}啊"

解析数组变量
$zy = [‘name‘ => ‘zy‘];
//echo = "我的名字叫zy[‘name‘]";	
//这样子写PHP会把$zy[‘name‘]认为是个字符串,因为双引号里可用嵌套单引号

//正确引用数组变量
echo "我的名字叫$zy[name]";
echo "我的名字叫{$zy[‘name‘]}";
//两种都可用,加花括号就不会有歧义
解析常量
define(‘__NAME‘,‘正义‘);
$str = "常量: {__NAME}"; // 不能解析的
$str = "常量: " . __NAME;		//我们可以通过字符串拼接符(.)解析常量
echo $str;
字符串当成是数组的形式来获取数据
$str = "abcdefg";

// 建议使用花括号的方式, 用[]容易混淆
echo $str[0]; // a
echo $str[1]; // b
echo $str{0}; // c
echo $str{1}; // d

// 设置一个字符, 多余的字符会删除
$str{3} = "6";
$str{3} = "777";
echo $str;
//不要用这种方式对字符串进行增删

常用的字符串输出函数

  • echo(); 输出字符串,没有返回值。

  • die(); 输出字符串, 并且退出代码运行。

  • print(); 输出字符串,成功返回1,失败返回2。

  • print_r():可以打印出复杂类型变量的值(如数组,对象),如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。

  • printf(); 输出格式化后的字符串。

    /**
     * 格式占位符(有格式转换的作用)
     * %s
     * %b  二进制数字
     * %c  ascii字符
     * %d  十进制数字
     * %f  浮点数
     * %x  16进制数
     */
    printf("%s的天气%s, 温度: %s", "广州", "不好", "18度");
    
  • sprintf(); 把格式字符串return,由程序员自己输出。

    $res = sprintf("%s的天气%s, 温度: %d", "广州", "不好", "18度");
    echo $res;
    echo $res;		//多次输出
    

字符函数

trim — 去除字符串首尾处的空白字符(或者其他字符)
$str = "  我在空白中 ";
ehco trim($str);	//去除空白了,在源码中可观察
echo $str;			//不会影响原字符串

还可去除指定符号

$str = "\t我在空白中\t";
ehco trim($str,"\t");	
  • ltrim 只操作字符左边,rtrim 只操作字符右边。
basename(),返回路径中的文件名字部分。例:echo basename(__FILE__);
dirname(),返回路径中文件夹部分。例:echo dirname(__FILE__);
str_pad(); 填充字符串,不影响原字符串。
$str = "abc";
echo str_pad($str, 6, ".");			//abc...
									//注意填充中文在utf-8中占3字节
str_repeat 重复字符串。echo str_repeat(‘----‘, 10);
str_split 切割字符串。并以数组形式返回。每个被切割的字符作为索引数组中的值。
$str = "abcdefg";
$arr = str_split($str);
var_dump($arr);

var_dump(str_split("正义联盟",3));		//每3位为切割一次
strrev 反转字符串。echo strrev("abcdefg");直接翻转中文会乱码。
str_shuffle(),随机打乱字符串。echo str_shuffle("abcdefg");
parse_str — 将字符串解析成多个变量。
//变量之间用&分隔
parse_str("id=1&name=2&age=18", $param);
var_dump($param);
大小写装换
echo "strtolower 将字符串转为小写<br>";
echo strtolower("ABCD");
echo "<hr>";

echo "strtoupper 将字符串转为大写<br>";
echo strtoupper(‘abcd‘);
echo "<hr>";

echo "ucfirst 字符串首字母大写<br>";
echo ucfirst("abc def");
echo "<hr>";

echo "ucwords  每个单词的首字母大写<br>";
echo ucwords("abc def");
htmlentities, htmlspecialchars把html标签转换为实体
// 因为为服务器安全需要把html转换为实体
echo htmlentities("<html></html>");

// 把实体字符转换为html标签
echo htmlspecialchars_decode(htmlentities("<html></html>"));
chr(),将ascii变成字符
echo chr(65);	//A
ord(),将字符变为ascii
echo ord(‘A‘);
addslashes,添加反斜线,返回字符串。该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号()、双引号(")、反斜线(**)与 NUL(NULL 字符)。
$str = "dkjashjsd‘fgsdkf‘df 1$ a bhjgj ";
echo addslashes($str);
// 删除反斜线
echo stripslashes(addslashes($str));

PHP字符串函数

原文:https://www.cnblogs.com/zylm/p/12602560.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!