zoukankan      html  css  js  c++  java
  • php string

    Heredoc 结构(heredoc 结构类似于双引号字符串)

    语法:

    在 <<< 之后要提供一个标识符,然后换行。接下来是字符串 string 本身,最后要用前面定义的标识符作为结束标志。

    结束时所引用的标识符必须在该行的第一列,而且,标识符的命名也要像其它标签一样遵守 PHP 的规则:只能包含字母、数字和下划线,并且必须以字母和下划线作为开头。结束标识符这行除了可能有一个分号(;)外,绝对不能包含其它字符。这意味着标识符不能缩进,分号的前后也不能有任何空白或制表符。更重要的是结束标识符的前面必须是个被本地操作系统认可的换行,而结束定界符(可能其后有个分号)之后也必须紧跟一个换行

     

    语法规范:       
    $bar = <<<LABEL // 这儿放字符串 LABEL;

     

    应用示例:

    class Test {
    // 类的属性
        public $bar = <<<EOT
    World!
    EOT;
    // 类的常量
        const A = <<<FOOBAR
    AAAA
    FOOBAR;
    
        public function index()
        {
            // 静态变量
            static $test = <<<LABEL
    TIME
    LABEL;
            // 数组
            $arr = array(<<<EOD
    footbar!
    EOD
    );
            // 在 heredoc 结构中使用双引号
            echo <<<"FOOBAR"
    Hello $this->bar
    FOOBAR;
            var_dump($this->bar);   // string 'World!'
            var_dump($test);        // string 'TIME'
            var_dump($arr);         // array (size=1)0 => string 'footbar!'
            var_dump(self::A);      // string 'AAAA'
        }
    }

    Nowdoc 结构

     nowdoc 结构类似于单引号字符串,不进行解析操作, 跟在后面的标识符要用单引号括起来,其它的所有规则跟 heredoc 结构一样,尤其是结束标识符的规则

    //最典型的示例是用来初始化类的属性或常量
    class
    index{ public $bar = <<<'EOT' bar EOT; }

    字符串转换为数值

    1、若字符串没有包含 '.','e' 或 'E' 且其数字值在 PHP_INT_MAX 的范围之内,该字符串将被当成 integer 来取值。其它所有情况下都被作为 float 来取值。

    2、该字符串的开始部分决定了它的值。如果该字符串以合法的数值开始,则使用该数值。否则其值为 0。合法数值由可选的正负号,后面跟着一个或多个数字(可能有小数点),       再跟着可选的指数部分。指数部分由 'e' 或 'E' 后面跟着一个或多个数字构成

    $foo = 1 + "10.5";                // $foo is float (11.5)
    $foo = 1 + "-1.3e3";              // $foo is float (-1299)
    $foo = 1 + "bob-1.3e3";           // $foo is integer (1)
    $foo = 1 + "bob3";                // $foo is integer (1)
    $foo = 1 + "10 Small Pigs";       // $foo is integer (11)
    $foo = 4 + "10.2 Little Piggies"; // $foo is float (14.2)
    $foo = "10.0 pigs " + 1;          // $foo is float (11)
    $foo = "10.0 pigs " + 1.0;        // $foo is float (11)  

     

     

     

     

  • 相关阅读:
    js sort方法根据数组中对象的某一个属性值进行排序
    JS中数据类型转换
    DOM盒子模型常用属性client,offset和scroll
    Vue之render渲染函数和JSX的应用
    北漂程序员的真实奋斗史:有辛酸,更有成长
    比高房价更可怕的是,35岁以后你还能干嘛?
    Vue组件间通信方式
    根据对象的某个属性名的值从新排序
    JS隐藏号码中间4位
    javascript之揭示模式
  • 原文地址:https://www.cnblogs.com/chrdai/p/6555548.html
Copyright © 2011-2022 走看看