对象的init值数组。
class test{
private $H_headers = array("A","B K ".chr(128),"C","D");
//Why I can not init this value?
...
}
}
Multiple annotations found at this line:
- syntax error, unexpected ','
- syntax error, unexpected '.',
expecting ')'
但通常我可以:
$H_headers = array("A","B K ".chr(128),"C","D");
答案 0 :(得分:3)
Pekka已经提供了一个解决方案,但缺点是,该类必须实现一个构造函数,仅用于赋值。因为您要调用的函数不是那么特殊(只需获取特定ascii代码的字符),您也可以使用此
class test{
private $H_headers = array("A","B K \x80","C","D");//Why I can not init this value more here
}
}
80
以十六进制为128
,\x
告诉php,您希望将其作为字符。
更新: 有关它的东西:)
http://php.net/manual/en/language.types.string.php#language.types.string.syntax.double
答案 1 :(得分:1)
在类定义中不可能做你想做的事。重复链接讨论了为什么这是以这种方式设计的。
最佳解决方法是在构造函数中执行赋值:
class test {
private $H_headers = null;
function __construct()
{ $this->H_headers = array("A","B K ".chr(128),"C","D"); }
}