2017-06-20 211 views
-4

我需要比较来自查询的数组和基数组,其中我有可能具有来自查询的数组的值,问题是如何通过并比较两个数组,以便在值不匹配的地方得到零并给我数组的值?浏览并比较两个阵列

这是我的代码:

public function age_range_men() 
{  
    $type = 'brands'; 
    $id_array= 75; 
    $date_start= '2017-01-02 00:01:00'; 
    $date_end='2017-03-31 23:59:59'; 
    $datos = $this->statistics_model->range_age_men($type, $id_array, $date_start, $date_end); 

    $result = array(); 

    foreach($datos as $dato) { 
     $result[] = array((string)$dato->rango, (int)$dato->conexiones); 
    } 

    $base= array(array('12 a 17'), array('18 a 24'),array('25 a 34'), array('35 a 44'), array('45 a 54'),array('55 a 64'),array('mas de 65')); 

    $res = array(); 

    foreach ($base as $base1) { 
    // print_r($base1[0]); 
    //  echo "<br>"; 
     foreach ($result as $result2){  
      if ($base1[0] == $result2[0]){ 
      }else{ 
       echo 0; 
       break; 
      } 
     } 
    } 
} 

[第一行是$结果和第二线是$基] [1]

[1]:https://i.stack.imgur.com/LC5Ps.jpg

+2

你可以显示'$ result'中的内容吗?它是否像'$ base'中的值?是否有一个基地作为多维数组的原因?真的看起来不需要。 – nerdlyist

+0

是的,第一行是$结果,第二行是$ base – Dave

+0

对不起,我不确定我关注。我首先想知道为什么你有一个基地的多维数组。 – nerdlyist

回答

0

这是我的建议。为结果创建一个关联数组。使$base成为键列表而不是奇怪的多维数组。检查数组中的密钥。我有其他回声0我不知道你想要什么,如果它存在。

<?php 

function age_range_men(){  

    $type = 'brands'; 
    $id_array= 75; 
    $date_start= '2017-01-02 00:01:00'; 
    $date_end='2017-03-31 23:59:59'; 
    $datos = $this->statistics_model->range_age_men($type, $id_array, $date_start, $date_end); 

    $result = array(); 


    foreach($datos as $dato) { 
     $result[(string)$dato->rango] = (int)$dato->conexiones; // Note this is now using a key 
    } 

    //This is no longer a multi-dimensional array just the keys we need 
    $base= array('12 a 17', '18 a 24','25 a 34', '35 a 44', '45 a 54','55 a 64','mas de 65'); 

    $res = array(); 

    foreach ($base as $key) { 
     if(array_key_exists($key, $results)){ 
      //CODE??? 
     } else { 
      echo 0; 
     } 
    } 
} 

age_range_men(); 
+0

但在变量$ results中结果是随机的,这取决于查询,到达的值永远不会相同,因此无法放置特定的名称。 – Dave

+0

我不确定你是什么意思的特定名称? – nerdlyist

+0

看看我在编辑中做了什么。我无法进行相同的调用,因此可以使用图像数据进行测试。 – nerdlyist