问题
the function is:
public function getData($symbol='', $stat='') {
if (is_array($this->symbol)) {
$symbol = implode("+", $this->symbol); //The Yahoo! API will take multiple symbols
}
if($symbol) $this->_setParam('symbol', $symbol);
if($stat) $this->_setParam('stat', $stat);
$data = $this->_request();
if(!$this->history) {
if ($this->stat === 'all') {
foreach ($data as $item) {
//Add to $return[$symbol] array. Indice 23 is the symbol.
$return[$item[23]] = array(
'name' => strip_tags($item[20]),
'price' => strip_tags($item[0]),
'change' => strip_tags($item[1]),
'volume' => strip_tags($item[2])
//'avg_daily_volume' => strip_tags($item[3]),
//'stock_exchange' => strip_tags($item[4]),
//'market_cap' => strip_tags($item[5]),
//'book_value' => strip_tags($item[6]),
//'ebitda' => strip_tags($item[7]),
//'dividend_per_share' => strip_tags($item[8]),
//'dividend_yield' => strip_tags($item[9]),
//'earnings_per_share' => strip_tags($item[10]),
//'fiftytwo_week_high' => strip_tags($item[11]),
//'fiftytwo_week_low' => strip_tags($item[12]),
//'fiftyday_moving_avg' => strip_tags($item[13]),
//'twohundredday_moving_avg' => strip_tags($item[14]),
//'price_earnings_ratio' => strip_tags($item[15]),
//'price_earnings_growth_ratio' => strip_tags($item[16]),
//'price_sales_ratio' => strip_tags($item[17]),
//'price_book_ratio' => strip_tags($item[18]),
//'short_ratio' => strip_tags($item[19]),
//'name' => strip_tags($item[20])
);
}
} else {
foreach ($data as $item)
$return[] = array($this->stat => $item);
}
} elseif(is_array($this->history)) {
$return = $data;
}
return $return;
}
what is used on index.php is:
<?php $test3 = ($StockMarketAPI2->getData());
print_r($StockMarketAPI2->getData());
?>
the output is:
Array
(
[-0.12 - -0.15%] => Array
(
[name] => Alibaba Group Holding Limited A
[price] => 81.17
[change] => -0.12
[volume] => 17911579
)
[-0.10 - -0.20%] => Array
(
[name] => GoPro, Inc.
[price] => 49.98
[change] => -0.10
[volume] => 4560642
)
[+0.53 - +0.10%] => Array
(
[name] => Netflix, Inc.
[price] => 557.03
[change] => +0.53
[volume] => 1272298
)
)
but the only things i need is:
alibaba, 81 , -0.12, gopro, 49 .... and so on...
so,
what i need is not some form of tree form...
|
| | /\ \
like the ouput currently. but just 1 line...
not the ['s ]'s ('s )'s 'array's .... or other symbols like that...
how can i do that?
is it something like this:
print_r($StockMarketAPI2->getData( [$item][0] ));
回答1:
Try:
<?php $test3 = ($StockMarketAPI2->getData());
foreach($test3 as $t){
echo "New subarray!";
echo $t[name];
echo $t[price];
echo $t[change];
echo $t[volume];
}
?>
not tested
来源:https://stackoverflow.com/questions/30028325/how-to-get-only-specific-values-out-of-an-custom-public-function