PHP 数组到链接内的变量


PHP array to variable inside a link

我正在使用这个网站上的代码: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]; 

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

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

基本上你需要分析输出。尝试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>'

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

根据您的方法...

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

或;

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

编辑:我看到你从你的评论中使用JavaScript,所以使用上面的HTML示例。