2010-04-24 84 views
0

例如,利用这个代码:使用PHP,我可以把变量放在变量里面吗?

$ch = curl_init($resultSet['url']."?get0=get0&get1=".$get1."&get2=".$get2."&get3=".$get3); 

这当然看起来很丑陋,善良的屁股痛的阅读。所以我的问题是,我会能够使用这样的事情:

$allgets ="?act=phptools&host=".$host."&time=".$duration."&port=".$port; 
$ch = curl_init($resultSet['url'] . $allgets); 

很简单的问题,我想,但我的服务器正在维护中,所以我不能上传并测试它自己。我认为是或否的答案就足够了,但如果你有更有效的方式来做这件事,那会更好。 :)

+0

请用urlencode()来保护您的变量值 – 2010-04-24 04:19:07

回答

2

当然,它只是字符串连接。

如果你想让它“不那么混乱”,你还可以看看字符串variable parsing

+0

所以,我的第二个例子中会没有错误工作? – Rob 2010-04-24 04:08:29

+0

是的,理论上是的。 – 2010-04-24 06:14:03

1

根据变量的值,您的示例可能无法使用,因为您没有使用URL编码。

一种更好的方式是这样的,

$fields = array (
    'host' => $host, 
    'port' => $port 
); 

$ch = curl_init($resultSet['url'] . '?' . http_build_query($fields)); 
+1

我会更进一步,并使用'http_build_url'以及如果URL需要更改将很容易改变 – SeanJA 2010-04-24 05:01:56

+0

如果url可能已经包含查询字符串,http_build_url()肯定是要走的路。但是,它需要http扩展,它很少安装在我使用的所有主机上。 – 2010-04-24 13:37:19

相关问题