我嘗試使用谷歌的API-PHP客戶端和它的基類是拋出以下錯誤:array_merge()[function.array合併]:參數#1不是一個數組
Severity: Warning
Message: array_merge() [function.array-merge]: Argument #1 is not an array
Filename: libraries/Google_Client.php
Line Number: 107
代碼周圍像107是一樣的東西:
public function __construct($config = array()) {
global $apiConfig;
$apiConfig = array_merge($apiConfig, $config);
self::$cache = new $apiConfig['cacheClass']();
self::$auth = new $apiConfig['authClass']();
self::$io = new $apiConfig['ioClass']();
}
我明白global $apiConfig
尚未初始化爲數組,這就是爲什麼array_merge拋出錯誤。但是,當我將其更改爲global $apiConfig = array();
,得到了另一個錯誤Parse error: syntax error, unexpected '=', expecting ',' or ';' in C:\Softwares\xampp\htdocs\testsaav\application\libraries\Google_Client.php on line 106
I am using Codeigniter 2.3 with XAMPP which has PHP 5.3
它爲我工作。謝謝。你能解釋爲什麼全局$ apiConfig = array();沒有在第一個地方工作? –
聲明爲全局變量時,不能爲變量賦值。 –
因爲你試圖宣佈你想在全球化的同時把它抹去。其次,這是Google正在修改的代碼。可能不是你想要的解決方案。你需要找出爲什麼代碼沒有加載在config.php中創建的$ apiConfig –