2017-06-20 233 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