define内的变量什么时候加双引号,什么时候不加,请大神告诉我
define(string $constant_name, mixed $value[, $case_sensitive = true])
它有3个参数(也就是原料):
第一个参数“constant_name”为必选参数,常量名称,即标志符,常量的命名规则与变量的一致,但是要注意哦,它可不带美元符号哦。第二个参数“value”为必选参数,它是常量的值。第三个参数“case_sensitive”为可选参数,指定是否大小写敏感,设定为true表示不敏感,一般不指定第三个参数的情况下,默认第三个参数的值为false。
(注: string表示参数类型为字符串类型,mixed表示参数类型可以接受为多种不同的类型,case_sensitive = true表示默认为布尔类型TRUE)
因为 $constant_name为String类型 所以之前没有声明 $constant_name 则 define(“xxx”, mixed $value[, $case_sensitive = true])要加“”
若之前已声明 $constant_name="xxx"时则define($constant_name, mixed $value[, $case_sensitive = true])不用加“”
define(name,value,case_insensitive),这个是语法。
当变量的名称在define()之前被定义过了,在define()里可以不用双引号,否则,是要用的。
如下:
$var = "PI";
define(var,3);
define("PII",5);
比如
$p=p1; //声明变量。
define("p2",3.14); //这个声明一个变量p2,让p2变成常量3.14
define($p,3.14); //这个是直接调用之前声明的变量,$p=p1,让p1变成常量3.14
意思就是需要声明的需要加双引号,调用声明过的不需要加引号。(我的理解。或者直接认识 有$这个符号不需要加双引号)