Php 如何显示此json数据中的变量
所以我试着让它工作,但没有结果。下面是我的PHP文件和JSON数据 注意,我必须首先将JSONP转换为JSON。效果很好。现在看看这个疯狂的数据数组,我不知道如何在foreach循环中获取变量。任何帮助都是很好的帮助 谢谢 MYFILE.phpPhp 如何显示此json数据中的变量,php,json,curl,jsonp,Php,Json,Curl,Jsonp,所以我试着让它工作,但没有结果。下面是我的PHP文件和JSON数据 注意,我必须首先将JSONP转换为JSON。效果很好。现在看看这个疯狂的数据数组,我不知道如何在foreach循环中获取变量。任何帮助都是很好的帮助 谢谢 MYFILE.php $url = "http://www.SwingAcademy.com/web/external/api.ashx?method=getLessons& callback=?"; $groupID = "43AB3367-F58D-4
$url = "http://www.SwingAcademy.com/web/external/api.ashx?method=getLessons& callback=?";
$groupID = "43AB3367-F58D-487E-B2C6-2571A3A3508C";
$num_results = "";
$post_data = array (
"NUMRESULTS" => $num_results,
"GROUPID" => $groupID,
"OWNERID" => ''
);
$curl_options = array(
CURLOPT_URL => $url ,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query( $post_data ),
CURLOPT_HTTP_VERSION => 1.0,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => false
);
$curl = curl_init();
curl_setopt_array( $curl, $curl_options );
$result = curl_exec( $curl );
//echo $result;
function jsonp_decode($jsonp, $assoc = false) { // PHP 5.3 adds depth as third parameter to json_decode
if($jsonp[0] !== '[' && $jsonp[0] !== '{') { // we have JSONP
$jsonp = substr($jsonp, strpos($jsonp, '('));
}
return json_decode(trim($jsonp,'();'), $assoc);
}
echo "<pre>";
var_dump(jsonp_decode($result, true));
echo "</pre>";
switch (json_last_error()) {
case JSON_ERROR_NONE:
echo ' - No errors';
break;
case JSON_ERROR_DEPTH:
echo ' - Maximum stack depth exceeded';
break;
case JSON_ERROR_STATE_MISMATCH:
echo ' - Underflow or the modes mismatch';
break;
case JSON_ERROR_CTRL_CHAR:
echo ' - Unexpected control character found';
break;
case JSON_ERROR_SYNTAX:
echo ' - Syntax error, malformed JSON';
break;
case JSON_ERROR_UTF8:
echo ' - Malformed UTF-8 characters, possibly incorrectly encoded';
break;
default:
echo ' - Unknown error';
break;
}
echo PHP_EOL;
foreach($result['VIDEOS'] as $p)
{
echo '
Lesson Info: '.$p['LESSONTEXT'].' '.$p['LESSONID'].'
Image Link: '.$p['THUMBNAIL'].'
';
}
注意,这是为JavaScript构建的,但我需要将其与PHP一起使用。所以我做了所有的转换和处理。我只是可以;我现在不知道我有了这些数据,如何在foreach循环中显示它并回显变量
这些数据的保存方式对我来说是陌生的。echo”“;
$result = jsonp_decode($result, true);
var_dump(jsonp_解码($result,true));
回声“;
$arrResult=jsonp_decode($result,true);
.
.
.
foreach($arresult['VIDEOS']作为$p)
echo”“;
var_dump(jsonp_解码($result,true));
回声“;
$arrResult=jsonp_decode($result,true);
.
.
.
foreach($arresult['VIDEOS']作为$p)
在使用变量$result
之前,需要将jsonp\u decode
的结果分配给该变量:
在使用变量之前,您需要将
jsonp\u decode
的结果分配给变量$result
:
如果控制台说数据是这样的,那就不是有效的JSON。这就是var dump Prints,就像我说的,它是经过JSONP转换的。实际上,您并没有将该数组分配给
$result
。您刚刚打印了它。我将如何分配它?如果控制台说您的数据是这样的,那就不是有效的JSON。这就是var dump Prints,就像我说的,它是JSONP转换的。您实际上并没有将该数组分配给$result
。你刚打印出来,我怎么分配?
echo "<pre>";
var_dump(jsonp_decode($result, true));
echo "</pre>";
$arrResult = jsonp_decode($result, true);
.
.
.
foreach($arrResult['VIDEOS'] as $p)
$result = jsonp_decode($result, true);