使用php解析url

使用php解析url,php,json,parsing,Php,Json,Parsing,我在使用php语言解析此url时遇到问题。我不知道它是JSON还是普通API。我需要得到“问”和“出价”从每个人。非常感谢你 它的结构是这样的: { EURUSD: { dir: 1, ask: "1.13729", bid: "1.13724" }, USDJPY: { dir: 1, ask: "119.365", bid: "119.359" }, USDCHF: { dir: 1, ask: "0.94013",

我在使用php语言解析此url时遇到问题。我不知道它是JSON还是普通API。我需要得到“问”和“出价”从每个人。非常感谢你

它的结构是这样的:

{
EURUSD: {
    dir: 1,
    ask: "1.13729",
    bid: "1.13724"
},
USDJPY: {
    dir: 1,
    ask: "119.365",
    bid: "119.359"
},
USDCHF: {
    dir: 1,
    ask: "0.94013",
    bid: "0.93994"
},
GBPUSD: {
    dir: 1,
    ask: "1.54218",
    bid: "1.54209"
},
AUDUSD: {
    dir: 1,
    ask: "0.77979",
    bid: "0.77973"
},
NZDUSD: {
    dir: 1,
    ask: "0.75103",
    bid: "0.75092"
},
GBPJPY: {
    dir: 1,
    ask: "184.081",
    bid: "184.064"
},
EURGBP: {
    dir: 1,
    ask: "0.73749",
    bid: "0.73743"
}
就用吧。然后,您可以作为对象访问数据,例如

$data = file_get_contents('http://www.fxgrow.com/quotes/quotes.php');
$decoded = json_decode($data);
print_r($decoded);
print '<p>EURUSD ask: ' . $decoded->EURUSD->ask . '</p>';
$data=file\u get\u contents('http://www.fxgrow.com/quotes/quotes.php');
$decoded=json_decode($data);
打印(已解码);
打印“EURMUSD ask:”$解码->欧元兑美元->询问。“

",;
它是纯json格式的数据,因此您可以使用内置函数对其进行解析

$data=' { EURUSD: { dir: 1, ask: "1.13729", bid: "1.13724" }, USDJPY: { dir: 1, ask: "119.365", bid: "119.359" }, USDCHF: { dir: 1, ask: "0.94013", bid: "0.93994" }, GBPUSD: { dir: 1, ask: "1.54218", bid: "1.54209" }, AUDUSD: { dir: 1, ask: "0.77979", bid: "0.77973" }, NZDUSD: { dir: 1, ask: "0.75103", bid: "0.75092" }, GBPJPY: { dir: 1, ask: "184.081", bid: "184.064" }, EURGBP: { dir: 1, ask: "0.73749", bid: "0.73743" }';

$json=(object)json_decode( $data, true );

foreach( $json as $key => $value ){
    $o=(object)$value;
    echo $key.' '.$o->dir.' '.$o->ask.' '.$o->bid.'<br />';
}
$data={欧元兑美元:{dir:1,询问:“1.13729”,出价:“1.13724”},美元兑日元:{dir:1,询问:“119.365”,出价:“119.359”},美元兑瑞士法郎:{dir:1,询问:“0.94013”,出价:“0.93994”},英镑兑美元:{dir:1,询问:“1.54218”,出价:“1.54209},澳元:{dir:1,询问:“0.77979”,出价:“0.77973”},新西兰元兑美元:{dir:1,询问:“7500.75103”,日元:{{dir:1,询问:“184.081”,出价:“184.064”},欧元GBP:{dir:1,询问:“0.73749”,出价:“0.73743”};
$json=(object)json_decode($data,true);
foreach($json作为$key=>$value){
$o=(对象)$value;
回声$key.'.$o->dir.'.$o->ask.'.$o->bid.
; }
$json=file\u get\u contents('http://www.fxgrow.com/quotes/quotes.php');
$data=json_decode($json);
foreach($key=>$value形式的数据){
echo$key.:ask=“.$value->ask.”bid=“.$value->bid.”
; }
试试这个

<?php
$test='{"EURUSD":{"dir":1,"ask":"1.14498","bid":"1.14492"},"USDJPY":{"dir":1,"ask":"118.729","bid":"118.724"},"USDCHF":{"dir":1,"ask":"0.93974","bid":"0.93944"},"GBPUSD":{"dir":1,"ask":"1.54587","bid":"1.54579"},"AUDUSD":{"dir":1,"ask":"0.77758","bid":"0.77754"},"NZDUSD":{"dir":1,"ask":"0.75293","bid":"0.75283"},"GBPJPY":{"dir":0,"ask":"183.540","bid":"183.525"},"EURGBP":{"dir":1,"ask":"0.74076","bid":"0.74063"}}';
$data=json_decode($test ,true);

foreach($data as $value)
{
$array=array();
$array[]=$value;
foreach($array as  $val)
{
echo $val['ask']."</br>";
echo $val['bid']."</br>";
}

}

您的代码在哪里尝试此操作?
<?php
$test='{"EURUSD":{"dir":1,"ask":"1.14498","bid":"1.14492"},"USDJPY":{"dir":1,"ask":"118.729","bid":"118.724"},"USDCHF":{"dir":1,"ask":"0.93974","bid":"0.93944"},"GBPUSD":{"dir":1,"ask":"1.54587","bid":"1.54579"},"AUDUSD":{"dir":1,"ask":"0.77758","bid":"0.77754"},"NZDUSD":{"dir":1,"ask":"0.75293","bid":"0.75283"},"GBPJPY":{"dir":0,"ask":"183.540","bid":"183.525"},"EURGBP":{"dir":1,"ask":"0.74076","bid":"0.74063"}}';
$data=json_decode($test ,true);

foreach($data as $value)
{
$array=array();
$array[]=$value;
foreach($array as  $val)
{
echo $val['ask']."</br>";
echo $val['bid']."</br>";
}

}