在双引号字符串和单引号字符串中使用核心预定义常量 PHP_EOL 的正确方法是什么?
Which is the correct way of using core predefined constant PHP_EOL inside a double quoted string and single quoted string?
考虑以下使用 PHP_EOL
的代码示例:
<?php
$juices = array("apple", "orange", "koolaid1" => "purple");
class people {
public $john = "John Smith";
}
$string = 'string';
$people = new people();
//In below statement dot(.) is used before PHP_EOL
echo "$people->john drank some $juices[0] juice.".PHP_EOL;
//In below statement comma(,) is used before PHP_EOL
echo "The character at index -2 is $string[-2].", PHP_EOL;
?>
输出:
John Smith drank some apple juice.
The character at index -2 is n.
如果你仔细看上面的代码,尤其是使用 PHP_EOL
的那几行,你会发现这两个语句中 PHP_EOL
前面字符的区别。
在第一个语句中 PHP_EOL
前面有一个点 (.),而在第二个语句中它前面有一个逗号 (,)
为什么两个语句只生成相同的输出而在语法上存在这种差异?
请大神解惑
注意: 我知道核心预定义常量 PHP_EOL
用于为程序执行的平台放置正确的 'End Of Line' 符号。
echo "$people->john drank some $juices[0] juice.".PHP_EOL;
这里 .(dot)
的工作方式类似于它首先连接整个字符串然后打印。
但是到了,
echo "The character at index -2 is $string[-2].", PHP_EOL;
它不会串联。它将根据 ,
一个接一个地打印
考虑以下使用 PHP_EOL
的代码示例:
<?php
$juices = array("apple", "orange", "koolaid1" => "purple");
class people {
public $john = "John Smith";
}
$string = 'string';
$people = new people();
//In below statement dot(.) is used before PHP_EOL
echo "$people->john drank some $juices[0] juice.".PHP_EOL;
//In below statement comma(,) is used before PHP_EOL
echo "The character at index -2 is $string[-2].", PHP_EOL;
?>
输出:
John Smith drank some apple juice.
The character at index -2 is n.
如果你仔细看上面的代码,尤其是使用 PHP_EOL
的那几行,你会发现这两个语句中 PHP_EOL
前面字符的区别。
在第一个语句中 PHP_EOL
前面有一个点 (.),而在第二个语句中它前面有一个逗号 (,)
为什么两个语句只生成相同的输出而在语法上存在这种差异?
请大神解惑
注意: 我知道核心预定义常量 PHP_EOL
用于为程序执行的平台放置正确的 'End Of Line' 符号。
echo "$people->john drank some $juices[0] juice.".PHP_EOL;
这里 .(dot)
的工作方式类似于它首先连接整个字符串然后打印。
但是到了,
echo "The character at index -2 is $string[-2].", PHP_EOL;
它不会串联。它将根据 ,