比较PHP中的大量数据

达摩什

我有两个数组,$posters (945 records)$stats_results(6000 records)我正在将这两个数组相互比较,以找到从$posters数组到$stats_results数组的记录一切正常,但需要90秒钟或更长时间。我如何才能更快地完成此过程。这是我所做的。

 for ($j=0; $j < count($posters); $j++)//945 records
    { 
     for ($i=0; $i < count($stats_results) ; $i++)//6000 records
     {
        if($stats_results[$i]['path'] == '/'.$posters[$j]['path'])
        {
         if(date('Ymd',strtotime($stats_results[$i]['start_date']))>=date('Ymd',strtotime($posters[$j]['start_date'])) && date('Ymd',strtotime($stats_results[$i]['start_date']))<=date('Ymd',strtotime($posters[$j]['end_date']) ))
         {
             $stats[]=array(
               //I am storing filtered value in the array 
             );
         }
     }
  }

正如我所说,一切正常。没有内存问题。有没有更好的方法可以做到这一点?提前致谢。

基于建议的改进代码。它工作正常:

$posters_stats=array();
foreach ($posters as $key => $value)
{
  $path = '/'.$value['Identifier'];
  $posters_stats[$path]=array(
    'sdate'=>date('Ymd',strtotime($value['Presentation_Date'])),
    'enddate'=>date('Ymd',strtotime($value['Expiry_Date']))
  );
}
foreach ($stats as $key => $stats_result)
{
  if(isset($posters_stats[$stats_result["path"]]))
  {
    if(strtotime($stats_result["date"])>=strtotime($posters_stats[$stats_result["path"]]['sdate']))
     {
       echo "<pre>";
       print_r($stats_result);
     }
   }else{
       echo "<pre>";
       print_r($stats_result);
   }
}

谢谢大家的贡献:)

用户3351733

我认为您可以按以下形式转换$ posters数组:

$ posters [$ path] = array(“ start_date” =>“ ...”,“ end_date” =>“ ..”);

那么你可以使用

foreach ($stats_results as $key => $stats_result)
{
      if(array_key_exist($stats_result["path"] ,$posters))
      ...
}

会更快

foreach ($stats_results as $key => $stats_result)
{
      if(isset($posters[$stats_result["path"]]))
      ...
}

因此,您只有945发,而不是945 * 6000。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

比较大量数据中的元素

来自分类Dev

无法获取json php中的大量数据

来自分类Dev

无法在php脚本中备份大量数据

来自分类Dev

在 PHP 中根据数组计数比较大量数组

来自分类Dev

比较两个表中的大量数据以查找丢失的数据

来自分类Dev

PHP/SQL - 比较大量图像

来自分类Dev

PHP中的大量数字

来自分类Dev

在SAS中合并大量数据

来自分类Dev

在LibreOffice中处理大量数据

来自分类Dev

在SAS中合并大量数据

来自分类Dev

从MongoDB中删除大量数据

来自分类Dev

在nodejs中获取大量数据

来自分类Dev

如何使用php从具有多个表的mysql数据库中检索大量数据

来自分类Dev

比较php中的mysql数据库表值

来自分类Dev

通过 PHP 比较数据库中的列

来自分类Dev

Excel中的数据比较?

来自分类Dev

比较JSON中的数据

来自分类Dev

大量的PHP阵列与MySQL数据库?

来自分类Dev

BigCommerce PHP API-提取大量数据

来自分类Dev

PHP在表单提交中传递包含大量文本数据的变量

来自分类Dev

如何使用PHP管理mysql数据库中的大量行

来自分类Dev

PHP IF中的比较顺序

来自分类Dev

PHP中的对象比较

来自分类Dev

PHP中的对象比较

来自分类Dev

在Java中存储和比较大量的字符串

来自分类Dev

Golang从管道中读取大量数据

来自分类Dev

从csv读取行中存储的大量数据

来自分类Dev

gzip无法在文件中写入大量数据

来自分类Dev

在R中循环处理大量数据