Php 如何显示此json数据中的变量

Php 如何显示此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

所以我试着让它工作,但没有结果。下面是我的PHP文件和JSON数据

注意,我必须首先将JSONP转换为JSON。效果很好。现在看看这个疯狂的数据数组,我不知道如何在foreach循环中获取变量。任何帮助都是很好的帮助

谢谢

MYFILE.php

$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);