PHP array_search是非常慢的-我怎么能加快?



我有两个数组,一个是来自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";
} 

相关内容

  • 没有找到相关文章

最新更新