如何在PHP中从URL中获取字符串

如何在PHP中从URL中获取字符串,php,string,url,curl,Php,String,Url,Curl,我使用curl通过API获取了一组数据,代码如下: function query($connectorGuid, $input, $userGuid, $apiKey, $additionalInput) { $url = "https://api.import.io/store/connector/" . $connectorGuid . "/_query?_user=" . urlencode($userGuid) . "&_apikey=" . urlenco

我使用curl通过API获取了一组数据,代码如下:

function query($connectorGuid, $input, $userGuid, $apiKey, $additionalInput) {

          $url = "https://api.import.io/store/connector/" . $connectorGuid . "/_query?_user=" . urlencode($userGuid) . "&_apikey=" . urlencode($apiKey);

          $data = array("input" => $input);
          if ($additionalInput) {
            $data["additionalInput"] = $additionalInput;
          }

          $ch = curl_init($url);
          curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
          curl_setopt($ch, CURLOPT_POSTFIELDS,  json_encode($data));
          curl_setopt($ch, CURLOPT_POST, 1);
          curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
          curl_setopt($ch, CURLOPT_HEADER, 0);
          $result = curl_exec($ch);
          curl_close($ch);

          return json_decode($result, true);
        }

        // Query for tile Bundesliga Stats
        $result = query("73df0478-4e6e-4f78-9ab5-f9866ac7a531", array(
          "webpage/url" => "http://some_url.com/results_name/1234",
        ), $userGuid, $apiKey, false);
        var_dump($result);
}
我发布了完整的代码以备不时之需,但我真正需要的是最后一部分:

$result = query("73df0478-4e6e-4f78-9ab5-f9866ac7a531", array(
      "webpage/url" => "http:/some_url.com/result_name/1234",
    ), $userGuid, $apiKey, false);
有没有办法将URL设置为一个变量,然后将URL的“result\u name”部分设置为另一个变量?

您发布了以下内容:

$result = query("73df0478-4e6e-4f78-9ab5-f9866ac7a531", array(
      "webpage/url" => "http://some_url.com/result_name/1234",
    ), $userGuid, $apiKey, false);
但接着问这个问题:

有没有办法把URL设置成一个变量 然后将URL的“result\u name”部分设置为另一个变量


你不能做这样的事情有什么原因吗:

$URL/$result_name/1234
因此,您的代码类似于:

$URL = "http://some_url.com";
$result_name = "result_name";
$result = query("73df0478-4e6e-4f78-9ab5-f9866ac7a531", array(
      "webpage/url" => "$URL/$result_name/1234",
    ), $userGuid, $apiKey, false);
或者,这可能是为了更容易理解:

$URL = "http://some_url.com";
$result_name = "result_name";
$result = query("73df0478-4e6e-4f78-9ab5-f9866ac7a531", array(
      "webpage/url" => $URL . "/" . $result_name . "/1234",
    ), $userGuid, $apiKey, false);
或者,嘿,看看那个
1234
。URL有很多部分。那么,为什么不这样做呢:

// Create a URL array for all of the parts.
$URL_array = array();
$URL_array[] = "some_url.com";
$URL_array[] = "result_name";
$URL_array[] = "1234";

// Then set the result and use `implode` to create a coherent string from that URL array.
$result = query("73df0478-4e6e-4f78-9ab5-f9866ac7a531", array(
      "webpage/url" => "http://" . implode("/", $URL_array),
    ), $userGuid, $apiKey, false);

有没有一个原因让你不能这样做:
“http://$URL/$result\u name/1234”
?是的,我同意@JakeGould,类似于
$input=array(“webpage/URL”=>“http://$URL/$result\u name/1234”
然后调用
$result=query(“73df0478-4e6e-4f78-9ab5-f9866ac7a531”、$input、$userGuid、$apiKey、false)
。我明白你的意思。不过,我有大约100个这样的任务要做,每个任务都有不同的“结果名称”,所以我想从每个url中提取出来。这有意义吗?