PHP 警告:非法字符串偏移 'error' roundcube 插件
PHP Warning: Illegal string offset 'error' roundcube plugin
出现错误 PHP 警告:第 93 行
中的 ../roundcube/plugins/vtrc/vtwsclib/Vtiger/WSClient.php 中的非法字符串偏移量 'error'
php 文件中的函数(第 93 行结束)
function hasError($result) {
if(isset($result[success]) && $result[success] === true) {
$this->_lasterror = false;
return false;
}
$this->_lasterror = $result[error];
return true;
当您尝试获取具有字符串偏移量的关联数组的索引时,添加 "
或 '
作为偏移量。将您的功能更改为
function hasError($result) {
if(isset($result["success"]) && $result["success"] === true) {
$this->_lasterror = false;
return false;
}
$this->_lasterror = $result["error"];
return true;
您有两个重要错误!!
首先:你需要使用'OR'来获取数组的值
$value = $array["KEY_HERE"];
Same as
$value = $array['KEY_HERE'];
PHP 对引号友好 =)
Second :您需要检查数组 $result 中是否存在 "error" 键,如 "success"
function hasError($result) {
if(isset($result["success"]) && $result["success"] === true) {
... CODE ...
}
if(isset($result["error"])) {
... CODE ...
}
... REST OF METHOD ...
}
“非法字符串偏移量 'error' 是什么意思? 确切地说数组 $result 不存在索引 'error'。请小心,因为脚本试图访问未为此数组声明(初始化 - 设置)的内存块。这很危险!!
$myArray = array(); /** Empty array **/
$myArray["error"] = ""; /** set index "error" with "" value **/
echo isset($myArray["error"]); /** echo TRUE **/
echo isset($myArray["success"]); /** echo FALSE **/
echo $myArray["success"]; /** throw exception "Illegal string offset 'success' ..." because not set in Array **/
出现错误 PHP 警告:第 93 行
中的 ../roundcube/plugins/vtrc/vtwsclib/Vtiger/WSClient.php 中的非法字符串偏移量 'error'php 文件中的函数(第 93 行结束)
function hasError($result) {
if(isset($result[success]) && $result[success] === true) {
$this->_lasterror = false;
return false;
}
$this->_lasterror = $result[error];
return true;
当您尝试获取具有字符串偏移量的关联数组的索引时,添加 "
或 '
作为偏移量。将您的功能更改为
function hasError($result) {
if(isset($result["success"]) && $result["success"] === true) {
$this->_lasterror = false;
return false;
}
$this->_lasterror = $result["error"];
return true;
您有两个重要错误!!
首先:你需要使用'OR'来获取数组的值
$value = $array["KEY_HERE"];
Same as
$value = $array['KEY_HERE'];
PHP 对引号友好 =)
Second :您需要检查数组 $result 中是否存在 "error" 键,如 "success"
function hasError($result) {
if(isset($result["success"]) && $result["success"] === true) {
... CODE ...
}
if(isset($result["error"])) {
... CODE ...
}
... REST OF METHOD ...
}
“非法字符串偏移量 'error' 是什么意思? 确切地说数组 $result 不存在索引 'error'。请小心,因为脚本试图访问未为此数组声明(初始化 - 设置)的内存块。这很危险!!
$myArray = array(); /** Empty array **/
$myArray["error"] = ""; /** set index "error" with "" value **/
echo isset($myArray["error"]); /** echo TRUE **/
echo isset($myArray["success"]); /** echo FALSE **/
echo $myArray["success"]; /** throw exception "Illegal string offset 'success' ..." because not set in Array **/