0

我正在尝试使用 PHP 检查 VIN 号码是否有效。我正在使用 for 循环,如下所示

 $base='**********';
foreach ($params as $key => $value) {
    $query_string .= "$key=" . urlencode($value) . "&";
    }
$url = "$base?$query_string";

在这个我得到&像下面这样的最后一个字符

&reportType=3&

我尝试使用下面的代码删除它,但它不起作用

substr($query_string, 0, -1);
 mb_substr($query_string, 0, -1);

帮我删除最后一个字符

4

3 回答 3

3

我认为您需要将结果分配回您的变量。

$query_string = substr($query_string, 0, -1);
于 2013-03-03T18:52:38.390 回答
1

您可以使用rtrim

$trimmed = rtrim($query_string, "&")

将从最后删除任何内容&

您的代码也可以工作,但是您需要将其分配给一个变量,因为它返回一个新字符串。顺便说一句,与 rtrim 相同。

于 2013-03-03T18:52:48.553 回答
1
$base='index.php';
$params = array("key1"=>1,"key2"=>2,"key3"=>3,"key4"=>4);
$size = count($params);
$count = 1;
foreach ($params as $key => $value) {
    $query_string .= "$key=" . urlencode($value);
    if($count < $size){
      $query_string .= "&";
    }
    $count++;
    }
$url = "$base?$query_string";
echo $url;

//结果:index.php?key1=1&key2=2&key3=3&key4=4

于 2013-03-03T19:06:14.683 回答