文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

php中字符串由什么组成的

2023-05-14 20:02

关注

在php中,字符串就是连续的字符序列,由一系列的字符(数字,字母和符号)组成;字符串的每个字符只占用一个字节。PHP定义字符串的方法:1、用单引号进行定义,例“'abc'”;2、用双引号进行定义,例“"abc"”;3、利用heredoc语法糖进行定义,它是一种在命令行shell和程序语言里定义字符串的方法;4、利用nowdoc语法糖进行定义。

php中字符串由什么组成的

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

String 字符串


字符串(string)就是连续的字符序列,由一系列的字符(数字,字母和符号)组成;其中每个字符都等同于一个字节。在php中只支持256字符集,不支持unicode。

php中的字符串的实现方式是由字节组成的数组再加上一个指明缓冲区长度的整型组成。该数据类型并不包含如何将字节转化为字符的信息,这些信息都是由程序员来控制的。字符串的组成没有什么限制,特别的是,其值为0即(null byte)的字节可以处于字符串的任何位置。还需要留意的是在相关的一些处理函数中,可能会把null字节之后的数据全部忽略掉,这点在使用的时候需要特别留意。

Note:String最大可以达到2GB

字符串的表达方式


1.单引号

定义一个字符串最简单的方式就是用单引号将字符串内容包含起来。在单引号定义的字符串中,变量和特殊字符的转义序列不会被替换。

$string_var = 'hello world';
        echo $string_var;//hello world
        echo "<br>";
        $string_var = 'hello \world';
        echo $string_var;//hello \world
        echo "<br>"; 
        $string_var2 = 'China $string_var';
        echo $string_var2;//China $string_var
        echo "<br>";

2.双引号

如果是以双引号将字符串内容包含起来的方式定义,那么需要注意:php会对一些特殊字符进行解析的,通常来说就是我们熟知的转义字符了。

序列    含义
\n    换行(ASCII 字符集中的 LF 或 0x0A (10))
\r    回车(ASCII 字符集中的 CR 或 0x0D (13))
\t    水平制表符(ASCII 字符集中的 HT 或 0x09 (9))
\v    垂直制表符(ASCII 字符集中的 VT 或 0x0B (11))(自 PHP 5.2.5 起)
\e    Escape(ASCII 字符集中的 ESC 或 0x1B (27))(自 PHP 5.4.0 起)
\f    换页(ASCII 字符集中的 FF 或 0x0C (12))(自 PHP 5.2.5 起)
\\    反斜线
\$    美元标记
\"    双引号
\[0-7]{1,3}    符合该正则表达式序列的是一个以八进制方式来表达的字符
\x[0-9A-Fa-f]{1,2}    符合该正则表达式序列的是一个以十六进制方式来表达的字符

和单引号定义方式比较最大的不同点是:双引号定义的字符串如果里面包含变量,那么该变量会被php解析。

$string_var = 'hello \world';
        echo $string_var;//hello \world
        echo "<br>"; 
        $string_var2 = 'China $string_var';
        echo $string_var2;//China $string_var
        echo "<br>";
        $string_var3 = "China $string_var";
        echo $string_var3;//China hello \world
        echo "<br>";

3.Heredoc结构

这种方式类似于xml定义格式,有一个开始标记和结束标记。heredoc的语法结构:

$var = <<< flag
……..here is your content
flag;

flag值可以根据自己的喜好来自定义,但必须要遵循php命名规范。另外需要注意的是在结束标识这行除了;外,不能包含其他字符。这就是说在标识符和分号前面不能有任何的缩进,字符。标识符和分号之间也是一样。如果没有遵循这条规则,php将认为该标识不是结束标识而将继续寻找,如果在文件结尾也没有找到的话,php将会产生解析错误。

$str = <<<ENDFLAG
            Example of string
ENDFLAG;
        echo $str;//Example of string
        echo "<br>";

4.Nowdoc结构

nowdoc结构和heredoc的结构很相似,但是nowdoc中不进行解析操作,也就是说nowdoc和单引号定义的字符串在一定意义来说是等价的。

nowdoc的结构和hereddoc的结构一样使用标记<<<,区别是在<<<之后的标识符要用单引号括起来(<<<’flag’)。

$str = <<<'ENDFLAG'
            Example of string
ENDFLAG;
        echo $str;//Example of string
        echo "<br>";

string可以当作字符数组来使用,其起始索引为0,比如有一个字符串$var=”hello world”,那么我们可以通过$var[0]的形式来获取或修改字符串。

$string_var4 = "hello world!";
        echo $string_var4[0];//h
        echo "<br>";
        $string_var4[0] = "f";
        echo $string_var4;//fello world!
        echo "<br>";

以上就是php中字符串由什么组成的的详细内容,更多请关注编程网其它相关文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯