是一个设置为字符串的变量,一个字符串文字


Is a variable set as a string, a string literal?

我有一个变量$myVariable = "hello world"$myVariable是字符串文字吗?

我很好奇变量是否被认为是它自己的类型,或者它是否可以采用它评估的任何类型。

否,则它变为变量的值。

// string literal as input
myfunction("Hello, world!");
// variable as input
$myvar = "Hello, world!";
myfunction($myvar);

string literal只是引用的部分,在本例中为"Hello, world!"

$myVariable是字符串文字吗?

不,"hello world"是字符串文字。它是字符串的字面意思。

我很好奇变量是否被认为是它自己的类型

没有。值有类型,而不是变量。变量指的是值。

字符串文字是计算机程序源代码中字符串值的表示。在现代语言中,这通常是一个带引号的字符序列,如在x="foo"中,其中"foo"是一个值为foo的字符串文字(引号不是值的一部分)。

前两行来自:字符串文字维基百科

因此,在$myVariable = "hello world"中,字符串文字是"hello world"

$myVariable是字符串类型的变量,"hello world"是字符串文字,就像$number是整数类型的变量一样,而5是整数文字,在$number = 5;

因此,变量假定其内容的类型。运行这个来查看PHP对这些文字假设的类型:

$string = "hello world";
var_dump($string);
$number = 5;
var_dump($number);

在您的示例中,字符串文字是Hello, world!,而不是变量

字符串文字可以用四种不同的方式指定:

单一报价

双重报价

heredoc语法

nowdoc语法

http://php.net/manual/en/language.types.string.php