PHP数组到链接

时间:2016-02-16 09:32:35

标签: php arrays variables hyperlink

我正在使用此网站上的代码:http://blog.chapagain.com.np/php-how-to-get-stock-quote-data-from-yahoo-finance-complete-code-and-tutorial/

$stock = "GOOG";
$objYahooStock->addFormat("sl1"); 
$objYahooStock->addStock($stock);

foreach( $objYahooStock->getQuotes() as $code => $stock) {
    $stock = $stock[1];
}

但是,我无法在链接中使用变量$stock。如果我尝试在页面上显示它(echo $stock;)它正在工作。我能够看到股票价格,但我无法在链接中使用变量,见下文。

http://example.com/example?text=' . $stock . '%20USD

我也尝试将股票价格保存到没有foreach循环的变量。

$stock = "GOOG";
$price = $objYahooStock->getQuotes();
$stock = $price[$stock][1]; 

这里的结果相同。我能够显示价格,但我不能在链接中使用它。

有人看到这个问题吗?提前谢谢。

2 个答案:

答案 0 :(得分:1)

如果没有看到完整的代码,很难看到你在做什么,但http://example.com/example?text=' . $stock . '%20USD看起来好像是HTML而不是PHP?

取决于您的方法......

PHP:echo 'http://example.com/example?text=' . $stock . '%20USD';

HTML:http://example.com/example?text=<?=$stock?>%20USD

编辑:我发现您使用的是评论中的JavaScript,因此请使用上面的HTML示例。

答案 1 :(得分:1)

基本上你需要分析输出。试试var_dump并查看结果。

在你的情况下,$stock在字符串中有一些字符。 尝试以下解决方案 snl1d1t1cv 格式:

$objYahooStock = new YahooStock;
$objYahooStock->addFormat("snl1d1t1cv");
$objYahooStock->addStock("GOOG");

$price = $objYahooStock->getQuotes();
$stock = "GOOG";
$stock = $price[$stock][1];

var_dump($price);
echo '<script>window.open("http://example.com/example?text=' . str_replace('"','',$stock) . '%20USD");</script>'

此解决方案在我的机器上打开一个新窗口

编辑: 对于格式 sl1 ,解决方案将起作用:

$objYahooStock = new YahooStock;

$objYahooStock->addFormat("sl1");

$objYahooStock->addStock("GOOG");


$price = $objYahooStock->getQuotes();
$stock = "GOOG";
echo $stock = $price[$stock][1];

var_dump($price);
echo '<script>window.open("http://example.com/example?text=' . str_replace('\n','',trim($stock)) . '%20USD");</script>'