>백엔드 개발 >PHP 튜토리얼 > php json转数组出错

php json转数组出错

WBOY
WBOY원래의
2016-06-13 12:36:191444검색

php json转数组出错求助
1:先输出json

<br />
//组合医生信息JSON<br />
$jsonDoctorInfo  = "{\"mecdoctor\":[";<br />
$jsonDoctorInfo .= "{\"doctorId\":\"".$doctorId."\",\"doctorName\":\"".$strDoctorName."\", \"doctorprice\":\"".$strPrice."\",\"expertise\":\"".$strExpertise."\",\"departments\":\"".$strdepartments."\",\"doctorTitle\":\"".$strTitle."\",\"doctorPhoto\":\"".$strDoctorPhoto."\"}";<br />
$jsonDoctorInfo .= "]}";<br />

2:获取并decode
$jsonGetDoctorInfoData = json_encode($jsonGetDoctorInfoData);
$objGetDoctorInfoData  = json_decode($jsonGetDoctorInfoData);
输出:
<br />
{"mecdoctor":[{"doctorId":"","doctorName":"XXXX", "doctorprice":"122","expertise":"XXXXX","departments":"医内科","doctorTitle":"主任医师","doctorPhoto":"hmh"}]}<br />
<br />

3:将json转换成数组
<br />
//解析JSON数据<br />
	function _json_decode($json){<br />
		$comment = false;<br />
		$out = '$x=';<br />
		for ($i=0; $i<strlen($json);$i++){<br />
			if (!$comment){<br />
				if ( ($json[$i] == '{') || ($json[$i] == '[') )<br />
					$out .= ' array(';<br />
				else if (($json[$i] == '}') || ($json[$i] == ']'))<br />
					$out .= ')';<br />
				else if ($json[$i] == ':')<br />
					$out .= '=>';<br />
				else<br />
					$out .= $json[$i];          <br />
			}else<br />
				$out .= $json[$i];<br />
			if($json[$i]== '"' && $json[($i-1)]!="\\")<br />
				$comment = !$comment;<br />
		}<br />
		eval($out.";");<br />
		<br />
		return $x;<br />
	}<br />

4:出现问题
Parse error: syntax error, unexpected T_DOUBLE_ARROW in /home/u945504094/public_html/config/config.inc.php(876) : eval()'d code on line 1


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.