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;
    */
  • 相关阅读:
    在Windows 10 环境下安装 Hadoop3.1.2
    jQuery选择器分类
    Hibernate 注解的用法以及说明
    EF中Repository模式应用场景
    C# Lambda表达式
    arpd编译错误
    【转】matplotlib画图时的中文设置
    Xt800、DEFY自带号码归属地更新包,更新至2013.4【数据总数278360条】
    80个Python经典资料(教程+源码+工具)汇总
    POJ 1026:Cipher
  • 原文地址:https://www.cnblogs.com/zy2012/p/2782425.html
Copyright © 2011-2022 走看看