【发布时间】:2013-09-17 12:10:56
【问题描述】:
我正在使用 CodeIgniter 验证表单数据,然后使用 php header() 函数将其发布到第三方站点,其中 $_POST 键值对作为 URL 参数。比如:
'first_name' => '克里斯' 'area_code' => '555' 'phone_number => '555-5555'
...会变成'http://thirdpartysite.com?first_name=chris&area_code=555&phone_number=555-5555'。
我能想到的最“优雅”的方法是像这样遍历 $_POST 数组...
$formValues = $this->input->post(NULL, TRUE);
foreach($formValues as $key => $value)
{
$postURL .= $key . '=' . $value . '&';
}
问题是第三方网站需要把一个完整的电话号码作为一个参数;它不能将“区号”和“电话号码”分成两部分,因为我的表格上有它。所以我需要做的是连接 area_code 和 phone_number 并将其存储在一个新变量中,该变量将附加到 URL 字符串中。
最好的方法是什么?我正在考虑可能在 foreach 循环中添加一个 if、else 语句来检查键是“area_code”还是“phone_number”并执行正确的操作,但是有没有更好的方法来做到这一点? php 或 CodeIgniter 中是否有本地方法可以在迭代 $_POST 数组之前对其进行修改?
谢谢!!
【问题讨论】:
-
为什么不手动做呢?
'phoneNumber=' . area_code . '-' . phone_number(当然要使用URI转义)。
标签: php arrays forms codeigniter