当我print_r
时,它会返回一个数据数组。
print_r($_POST);
我的输入字段是标准地址信息和患者ID:
Array ( [patient_id] => this [Last] => that [First] => Ted [ADDRESS1] => dey
[DOB] => [email] => [insurance_id] => [Phone] => [State] => CA [Zip] => 91236
[Status] => 3 [select_top] => 17 )
对于状态,通常会将其输入为1,2或3。
如何更改POST值,以便在输入3时返回为非活动状态或2返回为活动状态?
是否可以执行foreach
循环并将值更改为别名或其他内容?
foreach($_POST as $key => $val){
if($key == '3') $val = Inactive;
}
非常感谢任何帮助。
答案 0 :(得分:7)
您可以使用switch
statement。无需使用foreach
循环:
switch($_POST['status']) {
case 1: $_POST['status'] = 'Lead'; break;
case 2: $_POST['status'] = 'Active'; break;
case 3: $_POST['status'] = 'Inactive'; break;
default: $_POST['status'] = 'Huh?';
}
答案 1 :(得分:2)
我宁愿从已知的有效条目集中查找值,而不是操纵$_POST
超级全局。例如
$statusValues = array(
1 => 'Lead',
2 => 'Active',
3 => 'Inactive'
);
if (!array_key_exists($_POST['status'], $statusValues)) {
throw new UnexpectedValueException($_POST['status']);
}
$status = $statusValues[$_POST['status']];