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