【问题标题】:PHP passing variable to URLPHP将变量传递给URL
【发布时间】:2012-03-23 17:04:24
【问题描述】:

我有一个变量 $CODE,我想将它包含到另一个变量中,该变量实际上是一个 URL,例如: http://www.knmi.nl/klimatologie/uurgegevens/datafiles/275/uurgeg_275_2011-2020.zip 所以那将是:

$URL = "http://www.knmi.nl/klimatologie/uurgegevens/datafiles/275/uurgeg_275_2011-2020.zip"

我想在 $URL 中包含 $CODE 变量而不是数字“275” 所以那将是:

$URL = "http://www.knmi.nl/klimatologie/uurgegevens/datafiles/$CODE/uurgeg_$CODE_2011-2020.zip"

但问题是第二个 $CODE 包含,因为它有下一个下划线 ($CODE_),当我包含像“$CODE”这样的引号时,实际的引号将出现在 $URL 变量中,所以如果 $CODE 变量等于数字 275 它会是这样的:

$URL = "http://www.knmi.nl/klimatologie/uurgegevens/datafiles/'275'/uurgeg_'275'_2011-2020.zip"

这是无效的。 你能告诉我有什么问题吗?

【问题讨论】:

    标签: php url variables


    【解决方案1】:

    将其包围在{} 中,如

    $URL = "http://www.knmi.nl/klimatologie/uurgegevens/datafiles/{$CODE}/uurgeg_{$CODE}_2011-2020.zip";
    

    在双引号字符串中,将变量括在{} 中通常是一个好主意,以帮助解析器。有必要将复杂变量括起来,例如" a string with {$object->property[0]->value} inside,但对于简单变量并不总是必需的。在您的情况下,必须将$CODE 与以_ 开头的字符串的其余部分隔离开,以便将其识别为现有变量。

    这在PHP Strings documentation.中有解释

    【讨论】:

    • @user945782 你是什么意思``变量?
    • 实际上我要运行类似`wget http://...`的命令,其中需要在URL中包含一个变量($CODE),但我不知道如何包含当` `出现时,谢谢
    【解决方案2】:

    使用连接运算符:

    $URL = "http://www.knmi.nl/klimatologie/uurgegevens/datafiles/".$CODE."/uurgeg_".$CODE."_2011-2020.zip"
    

    【讨论】:

      【解决方案3】:

      在双引号内,您可以使用 {$code} - 这将解决您的问题,下面的下划线

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-24
        • 1970-01-01
        • 1970-01-01
        • 2014-04-23
        • 2011-06-20
        相关资源
        最近更新 更多