Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在数组中连接两个字符串时出错-PHP_Php_Arrays - Fatal编程技术网

在数组中连接两个字符串时出错-PHP

在数组中连接两个字符串时出错-PHP,php,arrays,Php,Arrays,可能重复: 以下代码: public $Options = array (0 => 'aaaaa' . 'bbbbb'); 给出以下错误: Parse error: syntax error, unexpected '.', expecting ')' 我本以为它只会给0一个aaaabbbbb的值 这是PHP5。我是否错过了什么,我相信我在过去已经用过很多次了 谢谢你的帮助。我测试了你的代码。它在这里起作用。 你试过括号吗 public $Options = array (0

可能重复:

以下代码:

public $Options = array (0  => 'aaaaa' . 'bbbbb');
给出以下错误:

Parse error: syntax error, unexpected '.', expecting ')' 
我本以为它只会给0一个aaaabbbbb的值

这是PHP5。我是否错过了什么,我相信我在过去已经用过很多次了


谢谢你的帮助。我测试了你的代码。它在这里起作用。 你试过括号吗

public $Options = array (0  => ('aaaaa' . 'bbbbb'));

奇怪。我测试了你的代码。它在这里起作用。 你试过括号吗

public $Options = array (0  => ('aaaaa' . 'bbbbb'));

在类的属性定义中连接字符串是不正确的。您需要在类的构造函数中执行此操作

在类的属性定义中连接字符串是不正确的。您需要在类的构造函数中执行此操作

这是因为这样做是作为类属性声明的一部分进行的,这是不可能的,因为:

…声明可能包括 初始化,但是这个 初始化必须是常量 值——也就是说,它必须能够 在编译时计算,并且不能 依赖于中的运行时信息 要评估的订单

有关更多信息,请参阅

但是,您可以根据需要在构造函数中设置此属性,一切都会很好:

class TestClass {
    public $Options;

    function __construct() {
        $this->Options = array (0  => 'aaaaa' . 'bbbbb');
    }
}

这是因为这样做是作为类属性声明的一部分,这是不可能的,因为:

…声明可能包括 初始化,但是这个 初始化必须是常量 值——也就是说,它必须能够 在编译时计算,并且不能 依赖于中的运行时信息 要评估的订单

有关更多信息,请参阅

但是,您可以根据需要在构造函数中设置此属性,一切都会很好:

class TestClass {
    public $Options;

    function __construct() {
        $this->Options = array (0  => 'aaaaa' . 'bbbbb');
    }
}

尝试了$Options=array(0=>aaaaa.'bbbbb');打印(可选);它在PHP5.3.3tried$Options=array(0=>aaaaaa.'bbbbb')中运行良好;打印(可选);它在PHP5.3.3中运行良好。我更改了代码,现在运行良好。奇怪的是,我有一些代码,其中数组是在类属性声明中定义的。它运行在不同的服务器上,因此可能会有不同的PHP版本?@jimmy如果可以在编译时构造该数组,那么它可能会很好。也就是说,级联显然不能在编译时执行,因此出现了问题。我更改了代码,现在工作正常。奇怪的是,我有一些代码,其中数组是在类属性声明中定义的。它运行在不同的服务器上,因此可能会有不同的PHP版本?@jimmy如果可以在编译时构造该数组,那么它可能会很好。也就是说,级联显然不能在编译时执行,因此,您就遇到了这个问题。因为您也可以在类dec中声明它。我假设它一定与服务器上的PHP版本有关?我猜它与PHP版本有关-它在PHP 5.5.38上不适用,但在PHP 5.6.38上可以正常工作,因为您也可以在类dec中声明它。我假设它一定与PHP版本有关服务器上的PHP版本?我猜它取决于PHP版本-它在PHP5.5.38上对我不起作用,但在PHP5.6.38上效果很好