如何结合PHP和JavaScript来获得一个数组来彩带 [英] How to combine php and javascript to get an array to ticker tape

查看:103
本文介绍了如何结合PHP和JavaScript来获得一个数组来彩带的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个JavaScript股票磁带是这样的:

 < SCRIPT LANGUAGE =JavaScript的>
<! -
// VAR消息=靛蓝-TX软件公司网上股票买卖及互惠基金VAR消息=< PHP打印$ test1的;>中K = message.length
间隔=.... ...
POS = 0;
滚动功能()
{
   document.form12.text1.value = message.substring(POS,K)+隔离+ message.substring(0,POS)
POS ++;
如果(POS> k)的{POS = 0;};
的setTimeout(滚动(),200);
}
< / SCRIPT>

在此部分的Java脚本上面你看到我指的是一个PHP变量...

 < PHP
$ StockMarketAPI2 =新StockMarketAPI;
$ StockMarketAPI2->符号=阵列(BABA,聚宝,诺氟沙星);
< PHP $ TEST1 =($ StockMarketAPI2->的getData());

但现在的股票磁带只打印:... ...阵

我应该

如何改变呢?

为了得到它来打印这通常是像这样的内容:

 阵列

    [-0.12 - -0.15%] =>排列    (
        [名] =>阿里巴巴集团控股有限公司一
        [价格] => 81.17
        [变化] => -0.12
        [体积] => 17910494
    )[-0.10 - -0.20%] =>排列
    (
        [名] => GoPro的公司
        [价格] => 49.98
        [变化] => -0.10
        [体积] => 4560482
    )[0.53 - + 0.10%] =>排列
    (
        [名] => Netflix的公司
        [价格] => 557.03
        [变化] => 0.53
        [体积] => 1272298
    )


解决方案

例如:的http:// testenvansoftware。 NL / TEST12 / index3.php

我明白了, - >的getData()不是php.net功能的一部分...权

这是class.stockMarketAPI2.php的一部分

确定,的确是这样,我现在看到的:

 公共职能的getData($符号='',$ STAT =''){        如果(is_array($这个 - >符号)){
            $符号=破灭(+,$这 - >符号); //该API雅虎将采取多个符号
        }        如果($符号)$这个 - > _setParam('符号',$符号);
        如果($统计)$这个 - > _setParam('静',$统计);        $数据= $这个 - > _request();       如果($这个 - >!历史){
        如果($这个 - >统计==='所有'){
            的foreach($为$项数据){                //添加到$返回[$符号]数组。指数之23是符号。
                $返回[$项目[23] =阵列(
                    '名'=>用strip_tags($项目[20]),
                    '价格'=>用strip_tags($项目[0]),
                    '变'= GT;用strip_tags($项目[1]),
                    音量= GT;用strip_tags($项目[2])                    //'avg_daily_volume'=>用strip_tags($项[3]),
                    //'stock_exchange'=>用strip_tags($项目[4]),
                    //'market_​​cap'=>用strip_tags($项目[5]),
                    //'book_value'=>用strip_tags($项目[6]),
                    //'EBITDA =>用strip_tags($项目[7]),
                    //'dividend_per_share'=>用strip_tags($ [8]),
                    //'dividend_yield'=>用strip_tags($项目[9]),
                    //'earnings_per_share'=>用strip_tags($ [10]项)
                    //'fiftytwo_week_high'=>用strip_tags($ [11]),
                    //'fiftytwo_week_low'=>用strip_tags($项目[12]),
                    //'fiftyday_moving_avg'=>用strip_tags($项目[13]),
                    //'twohundredday_moving_avg'=>用strip_tags($ [14]),
                    //'price_earnings_ratio'=>用strip_tags($项目[15]),
                    //'price_earnings_growth_ratio'=>用strip_tags($项目[16]),
                    //'price_sales_ratio'=>用strip_tags($ [17]),
                    //'price_book_ratio'=>用strip_tags($项目[18]),
                    //'short_ratio'=>用strip_tags($项目[19]),
                    //'名'=>用strip_tags($项目[20])
                );
            }
        }其他{
            的foreach($为$项数据)
                $返回[] =阵列($这个 - > STAT => $项目);
        }
    } ELSEIF(is_array($这个 - >历史)){
        $收益= $的数据;
    }    返回$返回;
}

I have a javascript ticker tape which is like this:

<script language="javascript">
<!--
//var message="Indigo-TX software Company Online Share Trading and     mutual funds"

var message="<?php print $test1;?>"

k=message.length
spacer=".... ..."
pos=0;
function scrolling()
{
   document.form12.text1.value=message.substring(pos,k)+spacer+message.substring    (0,pos);
pos++;
if(pos>k){pos=0;};
setTimeout("scrolling()",200);
}
</script>

In this part of Java script above you see i refer to a php variable...

<?php
$StockMarketAPI2 = new StockMarketAPI;
$StockMarketAPI2->symbol = array('BABA', 'GPRO', 'NFLX');


<?php $test1 = ($StockMarketAPI2->getData());

But now the ticker tape only prints: ...array...

How should I change it ?
To get it to print the contents which is normally like so:

Array
(
    [-0.12 - -0.15%] => Array

    (
        [name] => Alibaba Group Holding Limited A
        [price] => 81.17
        [change] => -0.12
        [volume] => 17910494
    )

[-0.10 - -0.20%] => Array
    (
        [name] => GoPro, Inc.
        [price] => 49.98
        [change] => -0.10
        [volume] => 4560482
    )

[+0.53 - +0.10%] => Array
    (
        [name] => Netflix, Inc.
        [price] => 557.03
        [change] => +0.53
        [volume] => 1272298
    )
)

解决方案

example : http://testenvansoftware.nl/test12/index3.php

I see, ->getData() is NOT part of php.net functions... right?

it is part of class.stockMarketAPI2.php

ok, yes it is, i see now:

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;
}

这篇关于如何结合PHP和JavaScript来获得一个数组来彩带的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆