How to get only specific values out of an custom p

2019-08-06 09:26发布

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] ));

标签: php public
1条回答
时光不老,我们不散
2楼-- · 2019-08-06 09:36

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

查看更多
登录 后发表回答