PHP:参考提取的数组变量
我有一些用数据填充数组的代码,然后需要将这些数据转换为带有查询的URL。数组中的元素数未知PHP:参考提取的数组变量,php,arrays,extract,Php,Arrays,Extract,我有一些用数据填充数组的代码,然后需要将这些数据转换为带有查询的URL。数组中的元素数未知 extract($array, EXTR_PREFIX_ALL, "pp_"); 假设我有两个元素,我需要用它们构建一个URL。因此,我: $pp_0 and $pp_1 查询参数需要如下所示: ...&pp={contents of $pp_0}&pp={contents of $pp_1};; 其中,pp=参数的值分别为$pp_0和$pp_1 我已经绞尽脑汁想了好几个小时如何让
extract($array, EXTR_PREFIX_ALL, "pp_");
假设我有两个元素,我需要用它们构建一个URL。因此,我:
$pp_0 and $pp_1
查询参数需要如下所示:
...&pp={contents of $pp_0}&pp={contents of $pp_1};;
其中,pp=参数的值分别为$pp_0和$pp_1
我已经绞尽脑汁想了好几个小时如何让它工作。您可以循环数组中的值并构建字符串,也可以使用内爆 内爆法:
$arr =['pp_1' => 1, 'pp_2' => 2, 'pp_3' => 3];
Echo "&pp=" .implode("&pp=", $arr) . ";";
循环方法:
$str ="";
Foreach($arr as $pp){
$str .= "&pp=" . $pp;
}
$str .= ";";
Echo $str;
输出是相同的,但我认为您可以有更多的循环控制方法。“内爆”获取所有值并将其内爆,循环使您可以选择在内部添加if,并在加入键或值之前检查它们。为什么要首先提取它们?为什么不将它们保留在数组中并循环它?为什么必须多次使用相同的键构建URL?这将是一个无效的URL。你是说
pp[]=…&pp[]=…
?或者pp_1=…&pp_2=…
?然后,您应该使用来避免可能的问题(编码,…),而不是手动创建URL。另请注意,提取的变量是$pp\uu 0
,$pp\uu 1
,带有两个下划线。感谢您的回答。我把事情复杂化了。看起来http_build_查询是我想要使用的,我不知道它存在。