PHP基础-字符串

一、定义字符串

  • 单/双引号定义字符串

    • 单引号定义的字符串则不会解析
    • 双引号定义的字符串会对php变量及特殊字符进行解析
    • 特殊字符转译表:
      特殊字符 意义
      \n 换行
      \r 回车
      \t 水平制表符
      \v 垂直制表符
      \e Escape
      \f 换页
      \ 反斜线
      $ 美元符号
      " 双引号
      [0-7]{1,3} 符合该正则表达式序列的是一个以八进制方式来表达的字符
      \x[0-9A-Fa-f]{1,2} 符合该正则表达式序列的是一个以十六进制方式来表达的字符
  • heredoc

    • Heredoc结构就像是没有使用双引号的双引号字符串
    • 对php变量及特殊字符进行解析
    • 定义语法:
      • 规则:
        <<<标示符名称               //此处必须是单独成行
        要定义的字符串               //该内容中注释无效
        标示符名称;                 //必须单独成行,不能缩进。结束有且仅可以有一个分号。分号后面不能有任何东西,注释和空格都不行
        
      • 栗子:
        $name = '学校';
        echo <<< AA
            我在 $name 学习php,
            此处应该打字符'A':\x41
        AA;
        
  • nowdoc

    • Nowdoc结构是类似于单引号字符串
    • 不再解析php变量及特殊字符
    • 定义语法:
      • 规则:
        <<<'标示符名称'
        要定义的内容
        标示符名称;
        
      • 栗子:
        $name = '什么';
        echo <<< 'BB'
            我在 $name 学习php,不会再解析变量name
            此处应该打字符'A':\x41  特殊字符也不会被解析
        BB;
        
  • 变量解析说明

    • 当php解析器遇到一个美元符号($)时,会组合尽量多的标识以形成一个合法的变量名
    • 可以用花括号来明确变量名的界限
    • 由于{无法被转义,只有$紧挨着{时才会被识别。可以用{$来标识字符串{$
    • 栗子:
      $heeee='hhhh';
      $he='eeee';
      echo "the string is {$he}eee";        //    the string is eeeeeee
      echo "the string is ${he}eee";        //    the string is eeeeeee
      echo "the string is \${he}eee";       //    the string is ${he}eee
      echo "the string is {\$he}eee";       //    the string is {$he}eee
      

你可能感兴趣的:(PHP基础-字符串)