php - 解析错误 : syntax error, unexpected '(' , expecting ',' or ';' in

标签 php syntax-error

我收到以下解析错误:

Parse error: syntax error, unexpected '(', expecting ',' or ';' in H:\Programs\USBWebserver v8.5\8.5\root\oopforum\func\register.class.php on line 7

这与我类的以下代码行有关:

private $random_name = rand(1000,9999).rand(1000,9999).rand(1000,9999).rand(1000,9999);

我不明白为什么这行代码会导致解析错误?

下面是一些周边代码:

class register{
    public $post_data = array();
        private $dbh;
        private $allowed_type = array('image/jpeg','image/png','image/gif');
        private $random_name = rand(1000,9999).rand(1000,9999).rand(1000,9999).rand(1000,9999);
        private $path = 'img/thumb_/'.$random_name. $_FILES['file']['name'];
        private $max_width = 4040;
        private $max_height = 4040;
        private $max_size = 5242880;
        private $temp_dir = $_FILES['file']['tmp_name'];
        private $image_type = $_FILES['file']['type'];
        private $image_size = $_FILES['file']['size'];
        private $image_name = $_FILES['file']['name'];
        private $image_dimensions = getimagesize($temp_dir);
        private $image_width = $image_dimensions[0]; // Image width
        private $image_height = $image_dimensions[1]; // Image height
        private $error = array();

        public function __construct($post_data, PDO $dbh){
        $this->post_data = array_map('trim', $post_data);
        $this->dbh = $dbh;
        }
}

是什么导致了解析错误?

最佳答案

您不能将成员变量初始化为任何非静态的东西,并且您正在尝试调用一个函数。

来自 the manual :

This declaration may include an initialization, but this initialization must be a constant value--that is, it must be able to be evaluated at compile time and must not depend on run-time information in order to be evaluated.

解决方法是在构造函数中设置变量:

private $random_name;
public function __construct() { 
    $this->random_name = rand(1000,9999).rand(1000,9999).rand(1000,9999).rand(1000,9999);
}

关于php - 解析错误 : syntax error, unexpected '(' , expecting ',' or ';' in,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11313051/

相关文章:

php - 淡入切换图像

php - 从 POST 传递带有换行符的字符串时,Textarea 没有更新?

syntax-error - ocaml中的二进制搜索树中的语法错误

sql - 语法错误数据库

MySQL 创建表错误语法

javascript - 这是什么错误?

mysql - 在 Rails 中创建新对象时出错

php - 克隆 Doctrine 实体与相关的一对多实体

php - 如何遍历图像的所有像素?

php - 如何摆脱php中字符串文字中的额外元素?