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;
    */
  • 相关阅读:
    数据结构与算法分析-二叉堆
    数据结构与算法分析-AVL树
    数据结构与算法分析-二叉查找树
    优秀程序员应具备的15个特性
    2016年1月22日 收盘后美加的走势
    2016年1月8日 12月非农数据
    Replace into 与Insert into on duplicate key update的区别
    MYSQL视图的学习笔记
    postgresql创建用户
    连接postgresql数据库
  • 原文地址:https://www.cnblogs.com/zy2012/p/2782425.html
Copyright © 2011-2022 走看看