Php 在foreach循环中拆分sprintf()

Php 在foreach循环中拆分sprintf(),php,Php,一个我搞不懂的简单问题。我用php编写了这个简单的sendmail脚本。 但是我需要将printet数组(用于打印电子邮件正文)拆分 使foreach循环的结果为: 1.在数组的前4个post中,只有post中的值而不是键是printet 2.数组的其余部分是prinet,包括键和值。 我目前正在使用这个: foreach($fields as $a => $b){ $body .= sprintf("%20s: %s\n",$b,$_REQUEST[$a]); } 我似乎无法理解这件

一个我搞不懂的简单问题。我用php编写了这个简单的sendmail脚本。 但是我需要将printet数组(用于打印电子邮件正文)拆分

使foreach循环的结果为:
1.在数组的前4个post中,只有post中的值而不是键是printet
2.数组的其余部分是prinet,包括键和值。
我目前正在使用这个:

 foreach($fields as $a => $b){ $body .= sprintf("%20s: %s\n",$b,$_REQUEST[$a]); }
我似乎无法理解这件事。欢迎任何帮助! 特罗尔斯什么的

$i = 0;
foreach($fields as $a => $b) {
 $i++;
 if ($i>3) $body .= sprintf("%20s: %s\n",$b,$_REQUEST[$a]);
}

添加计数器,为>=4添加if语句。稍后细化;)$i=0;foreach($a=>$b){$i++;if($i>3)$body.=sprintf(“%s\n”$\u请求[$a]);else$body.=sprintf(“%20s:%s\n”,$b,$\u请求[$a])我猜这是一个不错的解决方案