跳过 foreach 循环 PHP 中的多维数组


Skipping a multidimensional Array in a foreach loop PHP

我想在for-each循环中循环数组变量或您建议的任何其他方式。 循环时,如果数组有两个或多个相同的项目/值,循环应跳过数据并继续处理下一个数据。

$users = array ( array('user1', id , email),
                 array('user2', id , email),
                 array('user3', id , email),
                 array('user4', id , email)
foreach ($users as $key) {
  // do something for each user
  // if from arrays user1 , user2 , user3 , user4 there are some identical data .. 
  // skip that user and continue with another user 
  // then return results and number of users skipped          
}

例:如果在数组中 $users用户 1 的电子邮件地址/ID 与用户 3 相同,则跳过用户 3 并继续使用用户 4

希望你明白我的意思,因为我的英语不太好

一种简单的方法是将循环遍历数组时出现的所有电子邮件地址放入另一个数组中,并检查当前电子邮件是否已经在该数组中:

$email_addresses_processed_so_far = array();
foreach ($users as $key) {
  if(in_array($key[2], $email_addresses_processed_so_far)) {
    continue;
  }
  $email_addresses_processed_so_far[] = $key[2]; // put email address into array
  // additional processing here
  // …
}