Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从下面的json对象获取php中数据库的json值_Php_Json - Fatal编程技术网

如何从下面的json对象获取php中数据库的json值

如何从下面的json对象获取php中数据库的json值,php,json,Php,Json,JSON: PHP: 这个Json代码源于我使用过的所有运动APi,但我觉得使用这个APi并不有趣。我已经尝试了我所知道的所有方法来解决这个问题,但是所有的方法都被证明是徒劳的。如果您之前使用过api,请提供帮助,或者如果您知道我如何解决此问题,请提供帮助您基本上拥有的内容在尝试使用之前,您只需检查总计索引是否存在: $APIkey='XXXXXXX'; $leagueId = 787; $curl_options = array( CURLOPT_URL => "https:

JSON:

PHP:


这个Json代码源于我使用过的所有运动APi,但我觉得使用这个APi并不有趣。我已经尝试了我所知道的所有方法来解决这个问题,但是所有的方法都被证明是徒劳的。如果您之前使用过api,请提供帮助,或者如果您知道我如何解决此问题,请提供帮助

您基本上拥有的内容在尝试使用之前,您只需检查
总计
索引是否存在:

$APIkey='XXXXXXX';
$leagueId = 787;

$curl_options = array(
CURLOPT_URL => "https://allsportsapi.com/api/basketball/?met=Leagues&APIkey=$APIkey&leagueId=$leagueId",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => false,
CURLOPT_TIMEOUT => 30,
CURLOPT_CONNECTTIMEOUT => 5
);

$curl = curl_init();
curl_setopt_array( $curl, $curl_options );
$result = curl_exec( $curl );

$result = (array) json_decode($result);

var_dump($result);

    $result =  json_decode($result);
    foreach($result as $mydata)
    {    foreach($result->result as $myresult)
        {
           foreach($myresult->total as $total)
        {
             $standing_place_type = $total->standing_place_type;
            }
        }
    }

首先,如果您对PHP比JSON符号更熟悉,请尝试
打印
JSON解码的结果
以查看结构是如何转换的。应该是:

$decodedJson=json\u decode($json);
印刷品($decodedJson);
//结果
stdClass对象
(
[成功]=>1
[结果]=>stdClass对象
(
[总数]=>阵列
(
[0]=>stdClass对象
...
你能看到吗?它是一个对象,有一个结果对象,有一个总体对象,有一个对象数组

现在,知道您可以访问PHP对象的公共属性,如示例中的
$myObject->my_属性
,以及可以使用
foreach
进行迭代的数组,您可以像这样在PHP中导航此结构:

foreach($result as $mydata) {
    if(!empty($mydata->total)){
        foreach($mydata->total as $total ){
            echo $total->standing_place_type . PHP_EOL;
        }
    }
}


Obs:在您发布的JSON上,最后缺少了一个大括号。您可以验证JSON。

这对我不起作用。当我显示var_转储结果时,total不是空的contents@davidlemchidove点击链接可以看到结果。也许你有不同的JSON结构?这是结构看起来像数组(2){[“success”]=>int(1)[“result”]=>array(395){[0]=>object(stdClass){[league\u key]=>string(3)“734”[“league\u name”]=>string(7)“1.Liga”请用实际的JSON作为字符串编辑问题,我将更新答案..或者您可以根据实际代码推断答案。
foreach($result as $mydata) {
    if(!empty($mydata->total)){
        foreach($mydata->total as $total ){
            echo $total->standing_place_type . PHP_EOL;
        }
    }
}

// Check if the object contains the expected structure
if ($decodedJson && isset($decodedJson->result) && isset($decodedJson->result->total)) {
    // Iterate over Total Array
   foreach ($decodedJson->result->total as $total) {
       // Print values
       echo "Standing_Place: {$total->standing_place} / Standing_Place_Type: {$total->standing_place_type}." . PHP_EOL;
   } 
}