2016-08-03 2 views
0

는 SQL 쿼리에서 결과를 얻은 후에, 나는 위해서 var_dump ($ 데이터) 후은 다음과 같이 약간 보이는하는 $ 데이터 배열 내 결과를 저장 (false)를 부울을 반환

array(100) { 
    [0]=> 
    object(stdClass)#3 (3) { 
    ["qid"]=> 
    string(2) "19" 
    ["q_no_on_paper"]=> 
    string(1) "0" 
    ["question_text"]=> 
    string(139) "  Consider the following   statements-               1- The Centre recently unveiled the expanded version of the. . ." 
    } 
    [1]=> 
    object(stdClass)#4 (3) { 
    ["qid"]=> 
    string(2) "16" 
    ["q_no_on_paper"]=> 
    string(1) "0" 
    ["question_text"]=> 
    string(138) ". There is dispute over the Tipaimukh hydraulic project between India   and       A. Bhutan      B. Nepal      C.. . ." 
    } ... 

배열이 길기 때문에 이것은 일부입니다.
이제 json_encode($data);을 수행 한 다음 var_dump을 입력하면 bool(false)이됩니다.
내가이 PHP documentation link의 예 # 1을 수행 한 후 json_last_error()을 사용하려고, 그것은 - No errors

는 어디에서 잘못 가고 보여줍니다? 왜 그것을 인코딩하지 않습니까?

편집 :
["question_text"] 어떤 HTML 텍스트를 포함합니다. 이 non-UTF8 처리 동작이 어려운 디버깅 할 수있는 방법으로, 5.5 변경되었습니다, 버전 로그에 기록되지는 않지만

+0

: http://stackoverflow.com/questions/6194393/php-json-encode-size-limit –

+0

PHP 오류 너 한테 뭐라 말할거야? – RiggsFolly

+0

오류보고 기능이 있습니까? – RiggsFolly

답변

0

,

을 당신을 도울 수 있습니다. 그것은 단지 이전 버전에서이 문자열 (오직이 하나를) 무효 반면 json_encode()에 비 UTF-8 문자열, PHP 5.5의 기능을 return false를 만들 것입니다 전달

. Latin-1 encoded file에서

이 쓰기 :

<?php 
$a = array('é', 1); 
var_dump(json_encode($a)); 
?> 

PHP < 5.4: 
string(8) "[null,1]" 

PHP >= 5.5: 
bool(false) 

PHP 5.5 잘 물론 그것을 가지고 (인코딩이 실패하면 false를 반환)하지만 5.5로 업데이트 할 때 이전에 당신의 휴식을 얻을 수 있기 때문에 오류가 발생할 가능성이 하나의 문자열 (이 문자열을 사용하지 않은 경우, 당신은이 널링 한 것 통지하지 않을 것) UTF8 아니 었 때 JSON

그래서 당신은 PHP> = 5.5

01의 후 예를 발견 할 수있다 23,516,

php.net 문서 http://php.net/manual/en/function.json-encode.php#115733

-1

에서 내가 위해서 var_dump에 일부 공백/HTML 문자 (같은 \ n \의 t, \ r에) ($ 데이터) 결과를 참조하십시오. 이것은 JSON을 무효로 만들고 따라서 json_encode는 false를 반환합니다. ... 당신의 배열에 다음과 같은 인덱스를 확인

["question_text"]=> string(139) "&nbsp; Consider the   following statements- 
당신은 잠재적으로 메모리 제한으로 실행 될 수
+0

문자열입니다. 공백이 있으면 문제가되지 않습니다. 또는 아니요. – miken32

+0

공백 문자 \ n 및 \ t 등의 rs는 JSON 인코딩에서 문제를 일으키는 것으로 알려져 있습니다. 질문 게시자가 자신의 문제를 해결했다고 언급 한 이유는 무엇입니까? – Rahi

+0

누구로부터 알려져 있습니까? 실제로 이것을 시도 했습니까? 그것은 문자열에서 공백 문자를 처리 할 수없는 경우 꽤 빈약 한 표준이 될 것입니다. 질문 게시자는 그들이 무슨 말을하는지 전혀 모르며 JSON이 똑같이 모호한 제안 인 간단한 큰 따옴표를 처리 할 수 ​​없다고 확신합니다. 당으로서 – miken32

관련 문제