2017-10-14 2 views
0

오류 PHP 경고를 받고 : 줄에 ../roundcube/plugins/vtrc/vtwsclib/Vtiger/WSClient.php에 '오류'오프셋 불법 문자열 93PHP 경고 : 잘못된 문자열 오프셋 '오류'roundcube 플러그인

PHP 파일 (93 개 끝)

function hasError($result) { 
     if(isset($result[success]) && $result[success] === true) { 
      $this->_lasterror = false; 
      return false; 
     } 
     $this->_lasterror = $result[error]; 
     return true; 
+0

난 당신이 따옴표를 추가해야 할 것 같아요, 그래서 배열 액세스는 $ 결과'과 같을 것이다 [ '오류']'또는'$ 결과 [ '성공']'error'는 당신이 필요로하는 문자열입니다 –

+0

'경우 따옴표 나 큰 따옴표 사용하기 – frz3993

답변

0

으로 변경하십시오. 두 가지 중요한 오류가 있습니다! 모든의

첫째 : 당신은

$value = $array["KEY_HERE"]; 

Same as 
$value = $array['KEY_HERE']; 

PHP는 따옴표 친절 배열의 값을 얻기 위해 "사용 'OR 필요 =)


둘째 : 당신은 "오류"키가 배열 $ 결과에 "성공"과 같은지 확인해야합니다.

function hasError($result) { 
    if(isset($result["success"]) && $result["success"] === true) { 
     ... CODE ... 
    } 
    if(isset($result["error"])) { 
     ... CODE ... 
    } 
    ... REST OF METHOD ... 
} 

"잘못된 문자열 오프셋 오류 '가 무슨 뜻입니까? 정확히 존재하지 않습니다. Array $ 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 **/ 
0

당신이 문자열을 연관 배열의 인덱스를 얻으려고 노력하는 함수는 오프셋 " 또는 '를 추가 오프셋. 기능을

function hasError($result) { 
     if(isset($result["success"]) && $result["success"] === true) { 
      $this->_lasterror = false; 
      return false; 
     } 
     $this->_lasterror = $result["error"]; 
     return true; 
관련 문제