簡體   English   中英

為什么我的變量沒有在此字符串中擴展?

[英]Why isn't my variable expanded in this string?

$q = $_GET['q'];

// Load and parse the XML document 

$rss =  simplexml_load_file('http://search.twitter.com/search.atom?lang=en&q=$q&rpp=100&page=1');

這將返回含有結果"$q" ,而不是包含的值結果$q 為什么不起作用?

在simplexml_load_file行中將引號更改為雙引號

$q = $_GET['q'];

// Load and parse the XML document
$rss = simplexml_load_file("http://search.twitter.com/search.atom?lang=en&q=$q&rpp=100&page=1");

當字符串用雙引號引起來時,PHP才會自動解析該變量。

您需要使用雙引號使變量得到擴展

變量解析

當用雙引號或heredoc指定字符串時,將在其中解析變量。

所以:

"http://search.twitter.com/search.atom?lang=en&q=$q&rpp=100&page=1"

但是,如果您對urlencode使用正確的URL轉義,那就更好了:

'http://search.twitter.com/search.atom?lang=en&q='.urlencode($q).'&rpp=100&page=1'

您也可以在聲明$q變量時執行此操作,然后使用雙引號引起來的字符串delcaration:

$q = urlencode($_GET['q']);
$rss = simplexml_load_file("http://search.twitter.com/search.atom?lang=en&q=$q&rpp=100&page=1");

使用雙引號而不是單引號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM