我有一个变量$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"
是字符串文字。它是字符串的字面意思。
我很好奇变量是否被认为是它自己的类型
没有。值有类型,而不是变量。变量指的是值。
前两行来自:字符串文字维基百科
因此,在$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