Php 要使用'&';而不是'&;apm';在拉威尔5.5

Php 要使用'&';而不是'&;apm';在拉威尔5.5,php,laravel-5.5,Php,Laravel 5.5,我正在尝试从数组构建查询 我确实尝试过使用http\u build\u query函数,但结果是&而不是& 因此,我尝试创建自己的函数,但出现以下错误: 类Symfony\Component\HttpFoundation\ParameterBag的对象无法 不能转换为字符串 这是我的代码: $params = [ 'foo' => $reuest->foo, 'baz' => 'boom', 'cow' => 'milk', 'php' => 'hyperte

我正在尝试从数组构建查询

我确实尝试过使用
http\u build\u query
函数,但结果是
&而不是
&


因此,我尝试创建自己的函数,但出现以下错误:

类Symfony\Component\HttpFoundation\ParameterBag的对象无法 不能转换为字符串

这是我的代码:

$params = [
'foo' => $reuest->foo,
'baz' => 'boom',
'cow' => 'milk',
'php' => 'hypertext processor']

        $paramsJoined = array();

        foreach($params as $param => $value) {
            $paramsJoined[] = "$param=$value";
        }

        $query = implode('&', $paramsJoined);

这是您试图实现的一个示例:

<?php
$data = [
    'foo' => 'bar',
    'baz' => 'boom',
    'cow' => 'milk',
    'php' => 'hypertext processor'];

  echo http_build_query($data); 
?>

编辑1:

您也可以使用:


echo http_build_查询($data、、’&')

“我确实尝试过使用http_build_query函数,但它的结果是&;而不是&”-它不应该这样做。你确定你没有通过某种方式运行
http)build_query
的结果,从而使字符串对HTML安全吗?“我尝试创建我自己的函数”-你忘了对键和值进行URL编码“我有这个错误”-它没有告诉你错误发生在哪一行吗?@Quentin我确实尝试了这个
$paramsJoined[]=$param。"=" . rawurlencode($value)
但它返回:
rawurlencode()期望参数1是字符串,给定的对象
,那么哪个值不是字符串?这是怎么一回事?看看如何将其转换为所需内容。不幸的是,它返回:
foo=bar&;baz=繁荣与繁荣;奶牛=牛奶和牛奶;php=超文本+处理器
如何更改
&获取字符串后,将code>发送到`&`?@DmitryMalys&
将其存储在变量中,并使用
$new\u string=str\u replace(“&;”、“&”、$string\u variable)
@DmitryMalys我甚至对答案进行了编辑,请检查。@DmitryMalys您也可以尝试我建议的替代方案。您知道,这样您就有了优化的解决方案。
foo=bar&baz=boom&cow=milk&php=hypertext+processor