Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用for循环php在数组中保存多个结果_Php_Loops_For Loop - Fatal编程技术网

如何使用for循环php在数组中保存多个结果

如何使用for循环php在数组中保存多个结果,php,loops,for-loop,Php,Loops,For Loop,我正在处理一个CSV文件。当用户上传文件时。我解析CSV,然后从我需要的数组中选择数据。之后,我运行一个for循环来验证数据并将结果保存在数组中。但问题是,当我打印结果数组时,只有1封电子邮件的结果,有4封电子邮件。有什么建议吗 $results = []; $valid_emails = 0; $invalid_emails = 0; for ($i = 0; $i < $csv_array['row_count']; $i++) { $email = $csv_array['da

我正在处理一个CSV文件。当用户上传文件时。我解析CSV,然后从我需要的数组中选择数据。之后,我运行一个
for循环
来验证数据并将结果保存在数组中。但问题是,当我打印结果数组时,只有1封电子邮件的结果,有4封电子邮件。有什么建议吗

$results = [];
$valid_emails = 0;
$invalid_emails = 0;

for ($i = 0; $i < $csv_array['row_count']; $i++) {
  $email = $csv_array['data'][$i][$email_column];

  $result = validate_email($email);
  $results['Email'] = $email;

  if ($result) {            
    $results['Result'] = 'valid';
    $valid_emails++;
  } else {
    $results['Result'] = 'invalid';
    $invalid_emails++;
  }

}

echo '<pre>';
print_r($results);
echo '</pre><br>';

echo $valid_emails . '<br>';
echo $invalid_emails . '<br>';
$results=[];
$valid_电子邮件=0;
$invalid_电子邮件=0;
对于($i=0;$i<$csv_数组['row_count'];$i++){
$email=$csv_数组['data'][$i][$email_列];
$result=验证电子邮件($email);
$results['Email']=$Email;
如果($结果){
$results['Result']='valid';
$valid_emails++;
}否则{
$results['Result']='invalid';
$invalid_emails++;
}
}
回声';
打印(结果);
回声“
”; 回显$valid_电子邮件。”
'; 回送$invalid_电子邮件。”
';
使用
$results[]
添加一个或多个元素:

$results=[];
$valid_电子邮件=0;
$invalid_电子邮件=0;
对于($i=0;$i<$csv_数组['row_count'];$i++){
$email=$csv_数组['data'][$i][$email_列];
$result=验证电子邮件($email);
$res['Email']=$Email;
如果($结果){
$res['Result']='valid';
$valid_emails++;
}否则{
$res['Result']='invalid';
$invalid_emails++;
}
$results[]=$res;
}
回声';
打印(结果);
回声“
”; 回显$valid_电子邮件。”
'; 回送$invalid_电子邮件。”
';
$results
仅包含最后一次电子邮件验证。 您应该存储多个结果,而不仅仅是最后一个;-)

比如:


每次在循环中都覆盖结果,请尝试以下操作

$results=[];
$valid_电子邮件=0;
$invalid_电子邮件=0;
对于($i=0;$i<$csv_数组['row_count'];$i++){
$email=$csv_数组['data'][$i][$email_列];
$rowResult=[];
$result=验证电子邮件($email);
$rowResult['Email']=$Email;
如果($结果){
$rowResult['Result']='valid';
$valid_emails++;
}否则{
$rowResult['Result']=“无效”;
$invalid_emails++;
}
$results[]=$rowResult;
}
回声';
打印(结果);
回声“
”; 回显$valid_电子邮件。”
'; 回送$invalid_电子邮件。”
';
  $results[$i]['Email'] = $email;

  if ($result) {            
    $results[$i]['Result'] = 'valid';
    $valid_emails++;
  } else {
    $results[$i]['Result'] = 'invalid';
    $invalid_emails++;
  }

  if ($result) {            
    $results[$i] = 'valid';
    $valid_emails++;
  } else {
    $results[$i] = 'invalid';
    $invalid_emails++;
  }

$results = [];
$valid_emails = 0;
$invalid_emails = 0;

for ($i = 0; $i < $csv_array['row_count']; $i++) {
  $email = $csv_array['data'][$i][$email_column];
$rowResult=[];
  $result = validate_email($email);
$rowResult['Email'] = $email;


  if ($result) {            
    $rowResult['Result'] = 'valid';
    $valid_emails++;
  } else {
    $rowResult['Result'] = 'invalid';
    $invalid_emails++;
  }
$results[]=$rowResult;

}

echo '<pre>';
print_r($results);
echo '</pre><br>';

echo $valid_emails . '<br>';
echo $invalid_emails . '<br>';