我有一个表单,通过下拉选择器提供了很多不同的选项。喜欢:
<!--// height //-->
<option value='3918'>5'7"</option>
<option value='3917'>5'8"</option>
<option value='3916'>5'9"</option>
<option value='3915'>5'10"</option>
<!--// weight //-->
<option value='3913'>101-120lbs</option>
<option value='3912'>121-140lbs</option>
<option value='3911'>141-160lbs</option>
<option value='3910'>161-180lbs</option>
我需要将这些数字与另一个允许从url参数中过滤的变量相关联。例如,我有一个如下的开关语句:
if (isset($form['height'])){
$hv = $wizard['height'];
$hvr = '4\'0"';
$hvd = 0;
switch ( $hv )
{
case 3915 : $hvd= 4294964526; $hvr = '5\'10"'; break;
case 3916 : $hvd= 4294964528; $hvr = '5\'9"'; break;
case 3917 : $hvd= 4294964529; $hvr = '5\'8"'; break;
case 3918 : $hvd= 4294964406; $hvr = '5\'7"'; break;
}
}
if (isset($wizard['weight'])){
$wv = $wizard['weight'];
$wvr = '100 lbs';
$wvd = 0;
switch ( $wv )
{
case 3910 : $wvd = 4294964413; $wvr = '161-180 lbs'; break;
case 3911 : $wvd = 4294964421; $wvr = '141-160 lbs'; break;
case 3912 : $wvd = 4294964422; $wvr = '121-140 lbs'; break;
case 3913 : $wvd = 4294964400; $wvr = '121-140 lbs'; break;
}
}
在交换机中生成的变量需要在url参数的末尾附加。
因此,例如,提交5'7“150lb的正确网址将如下所示:
site.com?height=3918&weight=3911&d=4294964421,4294964406
现在我需要将这些传递给url参数,以便在提交表单时重定向到。
首先,我想我需要在每个if(isset)
中构建该字符串?所以对于高度我会有
$this->getResponse()->setRedirect( "site.com?height=" . $hv ."&d=" . $hvd );
但是使用多个POST值构建这些字符串的最佳方法是什么?如何在参数中检查该值是否需要?
或&
?如果有多个d值,我如何检查是否需要,
?
答案 0 :(得分:0)
拥有一个包含查询字符串变量的数组。
$variables = array();
然后根据需要将变量添加到数组中。
$variables [] = "height=3918";
$variables [] = "weight=3911";
然后,要构建您的查询字符串,您可以使用implode将&
$query_string = '';
if( count( $variables ) > 0 )
{
$query_string .= '?'.implode('&', $variables);
}