【问题标题】:spacing between square brackets of an array数组方括号之间的间距
【发布时间】:2014-10-13 07:36:02
【问题描述】:

我有一个数组,我想在 [] 之间放置空格,例如:

$array[South Africa]=array();

但我不能......为什么这是不可能的?

【问题讨论】:

  • 为什么需要空格?不能用下划线什么的吗?这是关于空间的 SO:stackoverflow.com/questions/2003036/…
  • 那么$array['South Africa']呢?
  • 我认为更好的做法是使用下划线,如果需要以格式化方式(如循环或其他方式)显示键以输出,只需 str_replace("_"," ",$key);。这样的东西可能比空间更好。
  • 看起来@Rasclatt 指出你可以有空间$array['South Africa']=array(); 它可能会给你错误消息,因为south Africa 不在' ' 单队列中。谢谢
  • 是的,我使用 str_replace("_"," ",$key);但我不明白为什么空格不起作用。无论如何谢谢:)

标签: php arrays


【解决方案1】:

这样做的正确方法是:

$array['South Africa']  = array();

通过不在字符串周围放置引号,PHP 将首先检查它是否为常量,如果不是,则假定您要指定所声明的字符串(并生成警告)。

这可以在没有空格的情况下工作(除了警告和不好的做法),但如果有空格 PHP 认为字符串/常量在 'South' 之后结束并期望 ]。您指定的内容将导致语法错误:

 unexpected T_STRING, expecting ']'

无论如何,我个人都会避免在名称/键中使用空格,但以上说明了如果您必须这样做时遇到的问题。

【讨论】:

  • 非常感谢! :)
猜你喜欢
  • 2013-10-02
  • 1970-01-01
  • 2018-12-22
  • 1970-01-01
  • 1970-01-01
  • 2012-09-16
  • 1970-01-01
  • 2010-12-19
  • 2021-01-17
相关资源
最近更新 更多