Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.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
Php 连接两段jSON数据_Php_Json - Fatal编程技术网

Php 连接两段jSON数据

Php 连接两段jSON数据,php,json,Php,Json,我试图从中检索数据,然后为“section_id”实现正确的价格,这是唯一的马。我使用唯一的market id密钥访问另一个URL e、 g (市场id是一个变量,您可以从中获得) 然后用回声把它吐出来 从逻辑上讲,我的代码在某个地方不起作用,似乎应该这样做 <?php echo date("Y-m-d h:i:s"); echo "<br>"; ini_set('max_execution_time', 30000); $curl = curl_init()

我试图从中检索数据,然后为“section_id”实现正确的价格,这是唯一的马。我使用唯一的market id密钥访问另一个URL

e、 g

(市场id是一个变量,您可以从中获得)

然后用回声把它吐出来

从逻辑上讲,我的代码在某个地方不起作用,似乎应该这样做

<?php

echo date("Y-m-d h:i:s");

echo "<br>";



ini_set('max_execution_time', 30000);



$curl = curl_init();



curl_setopt_array($curl, array(

    CURLOPT_URL => "https://bushell.net/betfair.php",

    CURLOPT_RETURNTRANSFER => true,

    CURLOPT_ENCODING => "",

    CURLOPT_MAXREDIRS => 10,

    CURLOPT_TIMEOUT => 3000000,

    CURLOPT_SSL_VERIFYPEER => false

    ));



$response = curl_exec($curl);

$err = curl_error($curl);



curl_close($curl);



if ($err) 

{

    echo "cURL Error #:" . $err;

} 

else

{

    $master_data = array();

    $price_data = array();

    $size_data = array();



    $marketIds = "";



    $response = json_decode($response,true);

    foreach ($response as $key => $value) 

    {

        $name = "";

        $d = null;

        $d1 = null;



        $marketIds .= $value['marketId'].",";



        foreach ($value['runners'] as $keyInner => $valueInner) 

        {

            $d = explode("T", $value['marketStartTime']);

            $d1 = explode(".", $d[1]);

            $curl1 = curl_init();



            $name = $value['event']['venue'];



            $temp = array();

            $temp['image'] = "<img src='https://content-cache.cdnbf.net/feeds_images/Horses/SilkColours/".$valueInner['metadata']['COLOURS_FILENAME']."'>";

            $temp['runnerName'] = $valueInner['runnerName'];

            $temp['jockey'] = $valueInner['metadata']['JOCKEY_NAME'];

            $temp['venue'] = $value['event']['venue']."-".$value['marketName'];

            $temp['dateTime'] = date('Y-m-d H:i:s', strtotime($value['marketStartTime']));

            $temp['odds'] = 0.0;

            $temp['selectionId'] = $valueInner['selectionId'];

            $master_data[] = $temp;

        }


          //New api end - market id comma

    $curl2 = curl_init();
    curl_setopt_array($curl2, array(
      CURLOPT_URL => "https://uk-api.betfair.com/www/sports/exchange/readonly/v1.0/bymarket?currencyCode=GBP&alt=json&locale=en_GB&types=MARKET_STATE%2CRUNNER_STATE%2CRUNNER_EXCHANGE_PRICES_BEST&marketIds=".$marketIds,
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => "",
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_TIMEOUT => 30000,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => "GET",
      CURLOPT_SSL_VERIFYPEER => false
    ));


    $response2 = curl_exec($curl2);
    $err2 = curl_error($curl2);
    curl_close($curl2);

    if ($err2) 

    {

      echo "cURL Error #:" . $err2;

    }

    else 

    {

        $odds_array = json_decode($response2,true);

        foreach ($odds_array['eventTypes'][0]['eventNodes'] as $key2 => $value2) 

        {

            foreach ($value2['marketNodes'][0]['runners'] as $key_runner => $value_runner) 

            {

                $price_data[$value_runner['selectionId']] = @$value_runner['exchange']['availableToBack'][0]['price'];

                $size_data[$value_runner['selectionId']] = @$value_runner['exchange']['availableToBack'][0]['size'];  

            };

        }

        //die;

    }




    foreach ($master_data as $key => $value) 

    {
            $back_odds = @$price_data[$value['selectionId']];

            echo $value['image'];
            echo $value['runnerName']."<br>";
            echo "<strong>Jockey: </strong>". $value['jockey']."<br>";
            echo "<strong>Venue: </strong>".$value['venue']."<br>";
            echo "<strong>Date/Time: </strong>".$value['dateTime']."<br>";
            echo "<strong>Betfair Back Odds: </strong>".$back_odds."<br>";
            echo "<hr>";
    }

}

echo "<br>";

        ?>

运行PHP代码时,您能告诉我一些错误吗

因此,我运行了您的PHP代码,看到一个错误,我通过添加一个“}”来修复它,该“}”没有关闭“if”语句

<?php
 echo date("Y-m-d h:i:s");
 echo "<br>";
 ini_set('max_execution_time', 30000);
 $curl = curl_init();
 curl_setopt_array($curl, array(
CURLOPT_URL => "https://bushell.net/betfair.php",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 3000000,
CURLOPT_SSL_VERIFYPEER => false
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);

if ($err){
   echo "cURL Error #:" . $err;
}else
{
$master_data = array();
$price_data = array();
$size_data = array();
$marketIds = "";
$response = json_decode($response,true);

foreach ($response as $key => $value){
    $name = "";
    $d = null;
    $d1 = null;
    $marketIds .= $value['marketId'].",";
    foreach ($value['runners'] as $keyInner => $valueInner){
        $d = explode("T", $value['marketStartTime']);
        $d1 = explode(".", $d[1]);
        $curl1 = curl_init();
        $name = $value['event']['venue'];
        $temp = array();
        $temp['image'] = "<img src='https://content-cache.cdnbf.net/feeds_images/Horses/SilkColours/".$valueInner['metadata']['COLOURS_FILENAME']."'>";
        $temp['runnerName'] = $valueInner['runnerName'];
        $temp['jockey'] = $valueInner['metadata']['JOCKEY_NAME'];
        $temp['venue'] = $value['event']['venue']."-".$value['marketName'];
        $temp['dateTime'] = date('Y-m-d H:i:s', strtotime($value['marketStartTime']));
        $temp['odds'] = 0.0;
        $temp['selectionId'] = $valueInner['selectionId'];
        $master_data[] = $temp;
    }


    //New api end - market id comma
    $curl2 = curl_init();
    curl_setopt_array($curl2, array(
        CURLOPT_URL => "https://uk-api.betfair.com/www/sports/exchange/readonly/v1.0/bymarket?currencyCode=GBP&alt=json&locale=en_GB&types=MARKET_STATE%2CRUNNER_STATE%2CRUNNER_EXCHANGE_PRICES_BEST&marketIds=".$marketIds,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => "",
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 30000,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => "GET",
        CURLOPT_SSL_VERIFYPEER => false
    ));

        $response2 = curl_exec($curl2);
        $err2 = curl_error($curl2);
        curl_close($curl2);

    if ($err2){
        echo "cURL Error #:" . $err2;
    }else{
        $odds_array = json_decode($response2,true);
        foreach ($odds_array['eventTypes'][0]['eventNodes'] as $key2 => $value2){
            foreach ($value2['marketNodes'][0]['runners'] as $key_runner => $value_runner){
                $price_data[$value_runner['selectionId']] = @$value_runner['exchange']['availableToBack'][0]['price'];
                $size_data[$value_runner['selectionId']] = @$value_runner['exchange']['availableToBack'][0]['size'];
            };
        }
        //die;
    }

    foreach ($master_data as $key => $value){
        $back_odds = @$price_data[$value['selectionId']];
        echo $value['image'];
        echo $value['runnerName']."<br>";
        echo "<strong>Jockey: </strong>". $value['jockey']."<br>";
        echo "<strong>Venue: </strong>".$value['venue']."<br>";
        echo "<strong>Date/Time: </strong>".$value['dateTime']."<br>";
        echo "<strong>Betfair Back Odds: </strong>".$back_odds."<br>";
        echo "<hr>";
    }
}
}
echo "<br>";
?>


请让我知道它是否修复了您的代码。

您应该解释您得到的不是您所期望的。另外,如果您的代码只是简单地消除了错误,那么也要提供它。启用“所有错误调试”,否则您可能会陷入困境。