在每个循环的末尾添加字符串,但不是最后一个循环

Cod*_*ver 0 php

我正在创建一个函数来设置查询变量,如下所示.

function set_query_var(array $params)
{
    $count = count($params);
    $query_var = '?';        

    foreach ( $params as $key => $value)
    {
        $query_var .= $key . '=' . $value .
        (($count > 1) ? '&' : NULL);
    }

    return $query_var;
}
Run Code Online (Sandbox Code Playgroud)

上面的功能工作正常,但唯一的问题是,它是添加&到我不想要的结束循环.

我该如何解决?

Jus*_*nas 7

我总是使用implode和数组:

function set_query_var(array $params)
{
    $query_var = [];        

    foreach ($params as $key => $value) {
        $query_var[] = "{$key}={$value}";
    }

    return '?' . implode('&', $query_var);
}
Run Code Online (Sandbox Code Playgroud)