我有两个数组,一个是来自API调用的响应,其中我获得有关哪些电子邮件地址已在System -> $array_emails_found
中上传的信息。另一个数组是form -> $array_data
上传的数据
在这个用例中,我们需要找出系统中的哪个用户,我们需要标记用户数据。
下面是我的代码:for ($i = 0; $i < $count_emails_found; $i++){
if ($key = array_search($array_emails_found[$i], array_column($array_data, 'Email'))){
$key = $key + 1;
$array_data[$key]["InEloqua"] = $array_data[$key]["InEloqua"] . "Y";
}
}
问题是,上传的文件可能包括例如超过45万用户,响应也可以提供这样的数字,并且需要超过2小时才能完成。
感谢@Barmar的评论,现在它的工作速度快多了
$arraycolumn = array_column($array_data, 'Email');
for ($i = 0; $i < $count_emails_found; $i++){
$key = array_search($array_emails_found[$i], $arraycolumn);
$key = $key + 1;
$array_data[$key]["InEloqua"] = $array_data[$key]["InEloqua"] . "Y";
}