【发布时间】:2010-04-23 13:55:28
【问题描述】:
我试图弄清楚我被赋予的功能是如何工作的——或者更确切地说是不工作。有问题的领域包括这样的数组表示法:
$small[$end[$i]{0}]
我认为这个想法是将“0”附加到$end[$i] 的值上,并将其用于$small 的索引。但它在 PHP5.3 中不起作用。这是不推荐使用的语法吗?它是否试图按照我的想法去做?
【问题讨论】:
-
不能像“php 因语法错误中断”那样工作,还是不能像“应该发生的事情没有发生”那样工作?
-
"注意:字符串 s 也可以使用大括号访问,如 $str{42},用于相同目的。但是,从 PHP 5.3.0 开始不推荐使用此语法。请改用方括号,例如 $str[42]。” php.net/manual/en/language.types.string.php
-
@Lo'oris:
$end[$i]{0}似乎正在评估为 null 或 ''。 -
@Tom Haigh:既然您已经指出了这一点,我确实记得可以通过这种方式访问字符串。但事实证明,如果字符串是数字,它就不起作用。例如
$foo=200; $foo[0]!=2;我觉得解决办法是把语法换成substr($foo,1); -
@dnagirl: "$foo=200;"那不是一个字符串。使用 substr() 可能会更慢,并且仅在 int 被隐式转换为字符串时才有效。