这是我之前关于阵列发布的帖子的后续问题。我被建议组合我的数组,以便动态生成电子邮件的表格结果。到目前为止,它看起来像这样:
$emp_names = is_array($_POST['emp_name']) ? $_POST['emp_name'] : array($_POST['emp_name']);
$emp_today_results = is_array($_POST['emp_today_result']) ? $_POST['emp_today_result'] : array($_POST['emp_today_result']);
$emp_today_goals = is_array($_POST['emp_today_goal']) ? $_POST['emp_today_goal'] : array($_POST['emp_today_goal']);
$emp_month_results = is_array($_POST['emp_month_result']) ? $_POST['emp_month_result'] : array($_POST['emp_month_result']);
$emp_month_goals = is_array($_POST['emp_month_goal']) ? $_POST['emp_month_goal'] : array($_POST['emp_month_goal']);
$emp_month_trends = is_array($_POST['emp_month_trend']) ? $_POST['emp_month_trend'] : array($_POST['emp_month_trend']);
$emp_results = array_combine($emp_names, $emp_today_results, $emp_today_goals, $emp_month_results, $emp_month_goals, $emp_month_trends);
收集并组合所有数组。那么,我现在不知道如何使用它们。这不起作用(我假设因为括号中没有“as”。任何想法如何使它工作?
foreach ($emp_results) {
$htmlBody .= "
<tr>
<td>{$emp_name}</td>
<td>{$emp_today_result}</td>
<td>{$emp_today_goal}</td>
<td>{$emp_month_result}</td>
<td>{$emp_month_goal}</td>
<td>{$emp_month_trend}</td>
</tr>";
}
答案 0 :(得分:1)
这样做..你这里不需要array_combine
$emp_names = is_array($_POST['emp_name']) ? $_POST['emp_name'] : array($_POST['emp_name']);
$emp_today_results = is_array($_POST['emp_today_result']) ? $_POST['emp_today_result'] : array($_POST['emp_today_result']);
$emp_today_goals = is_array($_POST['emp_today_goal']) ? $_POST['emp_today_goal'] : array($_POST['emp_today_goal']);
$emp_month_results = is_array($_POST['emp_month_result']) ? $_POST['emp_month_result'] : array($_POST['emp_month_result']);
$emp_month_goals = is_array($_POST['emp_month_goal']) ? $_POST['emp_month_goal'] : array($_POST['emp_month_goal']);
$emp_month_trends = is_array($_POST['emp_month_trend']) ? $_POST['emp_month_trend'] : array($_POST['emp_month_trend']);
for($i=0;$i<count($emp_names);$i++)
{
$htmlBody .= "
<tr>
<td>$emp_name[$i]</td>
<td>$emp_today_result[$i]</td>
<td>$emp_today_goal[$i]</td>
<td>$emp_month_result[$i]</td>
<td>$emp_month_goal[$i]</td>
<td>$emp_month_trend[$i]</td>
</tr>";
}
echo $htmlBody;
答案 1 :(得分:0)
$values = explode('|', 'emp_name|emp_today_result|emp_today_goal|emp_month_result|emp_month_goal|emp_month_trend');
foreach ($values as $value) {
$$value = (array)$_POST[$value];
}
for ($i = 0; $i < count($emp_name); $i++) {
$emp_results = array();
foreach ($values as $value) {
$emp_results[] = ${$value}[$i];
}
$htmlBody .= '<tr><td>' . implode('</td><td>', $emp_results) . '</td></tr>';
}