![](/img/trans.png)
[英]Parse error: syntax error, unexpected '[', expecting ')' php
[英]Parse error: syntax error, unexpected '(', expecting ',' or ';' in
我收到以下解析錯誤:
解析錯誤:第7行的H:\\ Programs \\ USBWebserver v8.5 \\ 8.5 \\ root \\ oopforum \\ func \\ register.class.php中的語法錯誤,意外'(',期待','或';')
這與我班上的以下代碼行有關:
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;
}
}
導致解析錯誤的原因是什么?
您無法將成員變量初始化為非靜態的任何內容,並且您正在嘗試調用函數。
從手冊 :
此聲明可能包括初始化,但此初始化必須是常量值 - 也就是說,它必須能夠在編譯時進行評估,並且必須不依賴於運行時信息才能進行評估。
解決方法是在構造函數中設置變量:
private $random_name;
public function __construct() {
$this->random_name = rand(1000,9999).rand(1000,9999).rand(1000,9999).rand(1000,9999);
}
你不能這樣做:
private $image_dimensions = getimagesize($temp_dir);
函數,變量和其他非靜態的東西都不能被調用來設置類變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.