简体   繁体   English

如何从多维数组 (php) 中获取特定项目?

[英]How can I get a specific item from a multidimensional array (php)?

How can I get the specific item from the following array.如何从以下数组中获取特定项目。 I'd like to get the close values.我想获得接近的价值。

What should I do in this case?在这种情况下我该怎么办?

$data = json_decode(file_get_contents($req_url),true); $data = json_decode(file_get_contents($req_url),true);

// print_r($data); // print_r($data); //give the following array; //给出以下数组;

// Array ( [chart] => Array ( [result] => Array ( [0] => Array ( [meta] => Array ( [currency] => USD [symbol] => SEAS [exchangeName] => NYQ [instrumentType] => EQUITY [firstTradeDate] => 1366378200 [regularMarketTime] => 1588622401 [gmtoffset] => -14400 [timezone] => EDT [exchangeTimezoneName] => America/New_York [regularMarketPrice] => 14.55 [chartPreviousClose] => 14.11 [previousClose] => 14.11 [scale] => 3 [priceHint] => 2 [currentTradingPeriod] => Array ( [pre] => Array ( [timezone] => EDT [end] => 1588599000 [start] => 1588579200 [gmtoffset] => -14400 ) [regular] => Array ( [timezone] => EDT [end] => 1588622400 [start] => 1588599000 [gmtoffset] => -14400 ) [post] => Array ( [timezone] => EDT [end] => 1588636800 [start] => 1588622400 [gmtoffset] => -14400 ) ) [tradingPeriods] => Array ( [0] => Array ( [0] => Array ( [timezone] => EDT [end] => 1588622400 [start] => 1588599000 [gmtoffset] => -14400 ) ) ) [dataGranularity] => 5m [range] => 1d [validRanges] => Array ( [0] => 1d [1] => // Array ( [chart] => Array ( [result] => Array ( [0] => Array ( [meta] => Array ( [currency] => USD [symbol] => SEAS [exchangeName] => NYQ) [instrumentType] => EQUITY [firstTradeDate] => 1366378200 [regularMarketTime] => 1588622401 [gmtoffset] => -14400 [timezone] => EDT [exchangeTimezoneName] => America/New_York [regularMarketPrice] => 14.55 [chartPreviousClose] => 14.11 [previousClose] => 14.11 [scale] => 3 [priceHint] => 2 [currentTradingPeriod] => Array ( [pre] => Array ( [timezone] => EDT [end] => 1588599000 [start] => 1588579200 [gmtoffset] => -14400 ) [regular] => Array ( [timezone] => EDT [end] => 1588622400 [start] => 1588599000 [gmtoffset] => -14400 ) [post] => Array ( [ timezone] => EDT [end] => 1588636800 [start] => 1588622400 [gmtoffset] => -14400)) [tradingPeriods] => Array ([0] => Array ([0] => Array ([timezone] => EDT [end] => 1588622400 [start] => 1588599000 [gmtoffset] => -14400 ) ) [dataGranularity] => 5m [range] => 1d [validRanges] => Array ([0] => 1d [1] => 5d [2] => 1mo [3] => 3mo [4] => 6mo [5] => 1y [6] => 2y [7] => 5y [8] => 10y [9] => ytd [10] => max ) ) [timestamp] => Array ( [0] => 1588599000 [1] => 1588599300 [2] => 1588599600 [3] => 1588599900 [4] => 1588600200 [5] => 1588600500 ) [indicators] => Array ( [quote] => Array ( [0] => Array ( [open] => Array ( [0] => 13.3599996567 [1] => 13.8599996567 [2] => 13.720000267 [3] => 13.8800001144 [4] => 14.0349998474 [5] => 14.051199913 ) [close] => Array ( [0] => 13.9499998093 [1] => 13.7299995422 [2] => 13.8400001526 [3] => 14.0450000763 [4] => 14.0600004196 [5] => 14.1899995804 ) [high] => Array ( [0] => 14 [1] => 13.8599996567 [2] => 13.9399995804 [3] => 14.0900001526 [4] => 14.1000003815 [5] => 14.2600002289 ) [low] => Array ( [0] => 13.1099996567 [1] => 13.5900001526 [2] => 13.720000267 [3] => 13.8699998856 [4] => 13.8509998322 [5] => 14 ) [volume] => Array ( [0] => 124733 [1] => 49489 [2] => 51657 [3] => 48362 [4] => 34055 [5] => 36566 ) ) ) ) ) ) [error] => ) ); 5d [2] => 1mo [3] => 3mo [4] => 6mo [5] => 1y [6] => 2y [7] => 5y [8] => 10y [9] => 年初至今 [ 10] => max ) ) [timestamp] => 数组 ( [0] => 1588599000 [1] => 1588599300 [2] => 1588599600 [3] => 1588599900 [4] => 1588600200 [5] => 1588600500 ) [指标] => 数组 ( [quote] => 数组 ( [0] => 数组 ( [open] => 数组 ( [0] => 13.3599996567 [1] => 13.8599996567 [2] => 13.720000267 [3] => 13.8800001144 [4] => 14.0349998474 [5] => 14.051199913 ) [关闭] => 数组 ([0] => 13.9499998093 [1] => 13.7299995422 [2] => 13.8400001526 [3] =>1 [3]0761 [4.450] => 14.0600004196 [5] => 14.1899995804 ) [高] => 数组 ([0] => 14 [1] => 13.8599996567 [2] => 13.9399995804 [3] => 14.0900001526 [4] => 14.1000003 [3] => 14.2600002289 ) [低] => 数组 ( [0] => 13.1099996567 [1] => 13.5900001526 [2] => 13.720000267 [3] => 13.8699998856 [4] => 13.8509998322 [5] => 1 ] => 数组 ( [0] => 124733 [1] => 49489 [2] => 51657 [3] => 48362 [4] => 34055 [5] => 36566 ) ) ) ) ) [错误] => ) );

 $close=  $data['chart']['result']['indicators']['close'] ;

 echo $close;

For your Array:对于您的阵列:

Array ( [chart] => 
Array ( [result] => 
Array ( [0] => 
Array ( [meta] => 
Array ( [currency] => USD [symbol] => SEAS [exchangeName] => NYQ [instrumentType] => EQUITY [firstTradeDate] => 1366378200 [regularMarketTime] => 1588622401 [gmtoffset] => -14400 [timezone] => EDT [exchangeTimezoneName] => America/New_York [regularMarketPrice] => 14.55 [chartPreviousClose] => 14.11 [previousClose] => 14.11 [scale] => 3 [priceHint] => 2 [currentTradingPeriod] => 
Array ( [pre] => 
Array ( [timezone] => EDT [end] => 1588599000 [start] => 1588579200 [gmtoffset] => -14400 ) [regular] => 
Array ( [timezone] => EDT [end] => 1588622400 [start] => 1588599000 [gmtoffset] => -14400 ) [post] => 
Array ( [timezone] => EDT [end] => 1588636800 [start] => 1588622400 [gmtoffset] => -14400 ) ) [tradingPeriods] => 
Array ( [0] => 
Array ( [0] => 
Array ( [timezone] => EDT [end] => 1588622400 [start] => 1588599000 [gmtoffset] => -14400 ) ) ) [dataGranularity] => 5m [range] => 1d [validRanges] => 
Array ( [0] => 1d [1] => 5d [2] => 1mo [3] => 3mo [4] => 6mo [5] => 1y [6] => 2y [7] => 5y [8] => 10y [9] => ytd [10] => max ) ) [timestamp] => 
Array ( [0] => 1588599000 [1] => 1588599300 [2] => 1588599600 [3] => 1588599900 [4] => 1588600200 [5] => 1588600500 ) [indicators] => 
Array ( [quote] => 
Array ( [0] => 
Array ( [open] => 
Array ( [0] => 13.3599996567 [1] => 13.8599996567 [2] => 13.720000267 [3] => 13.8800001144 [4] => 14.0349998474 [5] => 14.051199913 ) [close] => 
Array ( [0] => 13.9499998093 [1] => 13.7299995422 [2] => 13.8400001526 [3] => 14.0450000763 [4] => 14.0600004196 [5] => 14.1899995804 ) [high] => 
Array ( [0] => 14 [1] => 13.8599996567 [2] => 13.9399995804 [3] => 14.0900001526 [4] => 14.1000003815 [5] => 14.2600002289 ) [low] => 
Array ( [0] => 13.1099996567 [1] => 13.5900001526 [2] => 13.720000267 [3] => 13.8699998856 [4] => 13.8509998322 [5] => 14 ) [volume] => 
Array ( [0] => 124733 [1] => 49489 [2] => 51657 [3] => 48362 [4] => 34055 [5] => 36566 ) ) ) ) ) ) [error] => ) );

You need:你需要:

<?php
    $data = json_decode(file_get_contents($req_url),true);
    $close = $data['chart']['result'][0]['meta']['currentTradingPeriod']['pre']['regular']['post']['tradingPeriods'][0][0]['validRanges']['timestamp']['indicators']['quote'][0]['open']['close'];
    echo $close;
?>

UPDATE: Your comment shows different array.更新:您的评论显示了不同的数组。 You need:你需要:

<?php
    $req_url = 'https://query1.finance.yahoo.com/v7/finance/chart/SEAS?&interval=5m';
    $data = json_decode(file_get_contents($req_url), true);
    $close = $data['chart']['result'][0]['indicators']['quote'][0]['close'];
    print_r($close);
?>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM