zoukankan      html  css  js  c++  java
  • PHP字符串单引号和双引号的区别,多文本的如何定义

    <?php
    // 常见的面试题
    
    // 1:单双引号定义字符串有何区别?
    
    $age = 29;
    
    $str1 = 'hello \n\r \t $age';
    $str2 = "hello \n\r \t $age";
    $str3 = "hello \n\r \t {$age}"; //{}来明确表明是变量
    $str4 = "hello \n\r \t ${age}";
    
    echo $str1,'<br />',$str2,'<br/>',$str3,'<br/>',$str4;
    
    $str5 = <<< EOD            //多行文本定义不需要转义
    1111111111111111111111111
    2222222222222222222222222
    3333333333333333333333333
    \\....$ %
    $age
    EOD; //顶格!!!写
    
    echo $str5;
    
    $str5 = <<< EOZ
    1111111111111111111111111
    2222222222222222222222222
    3333333333333333333333333
    \\....$ %
    $age
    EOZ;
    
    echo $str6;
    
    
    /*
    
    转义上的区别:
    单引号,系统不做复杂的转义,
    只转义\',\\, 其他的---一律原样输出.
    
    双引号,则转义的比较多,\",\\,\r,\n,\t,\$等.
    
    
    
    对于变量解释的区别:
    单引号,不对字符串的$作变量名解析,
    而双引号,会试着$理解成变量名,来解析.
    
    */
    
    
    // 2:单双引号定义字符串,哪个速度更快一些?
    // 答:单引号解析的更快,因为不需要进行过多的转义和变量解析
    
    
    
    // 问:什么时间选用单/双引号呢?
    /*
    答:大段文本,比如新闻标题,文本内容,自我介绍等这样大段话,
    用',解析快.
    
    但有时候,确实需要在一段字符串夹杂变量,
    比如拼凑sql语句时
    
    $id = 5;
    $sql = "select * from user where id = $id";
    
    // 如果此时用单引,则语句成为了 ..id= $id,sql就出错了.
    // 此时,用双引合适. 解析$id,语句解析成 ..id = 5;
    */
  • 相关阅读:
    CSS介绍
    docker入门
    nginx+uWSGI+django+virtualenv+supervisor发布web服务器
    niginx入门
    常用服务安装部署
    VIM
    linux基本命令
    linux目录分级
    OpenStack共享组件
    kvm认识和安装
  • 原文地址:https://www.cnblogs.com/zy2012/p/2782425.html
Copyright © 2011-2022 走看看