数组中没有引号的键和值?

时间:2011-09-24 07:36:46

标签: php

帮助我理解这段代码:

Array
(
    [font-family] => font-family: 'Abel', sans-serif;
    [font-name] => Abel
    [css-name] => Abel
)

来自:http://phat-reaction.com/googlefonts.php

为什么键和值周围没有引号?这是有效的PHP代码吗?

2 个答案:

答案 0 :(得分:4)

  

为什么键和值周围没有引号?

它是一种数据转储,其格式设计为供人阅读,而不是代码。请参阅print_r

  

这是有效的PHP代码吗?

没有

答案 1 :(得分:0)

您在此处看到的是转储示例,而不是有效的PHP。但是,要回答有关引用的问题,可以查看PHP文档。对于密钥,如果您查看PHP文档,您将在don'ts中看到它。但是,正如它所说的

  

这是错误的,但它确实有效。原因是这段代码有一个   undefined constant(bar)而不是字符串('bar' - 注意引号)。 PHP可能在将来定义常量,不幸的是   这样的代码,具有相同的名称。它的工作原理是因为PHP自动   转换一个裸字符串(一个不相符的不带引号的字符串   将任何已知符号转换为包含裸字符串的字符串。对于   例如,如果没有名为bar的已定义常量,那么PHP将会   替换字符串'bar'并使用它。

值应始终包含在引号中,尤其是带空格的值,因为使用此弃用格式无法正确转换它们。