2016-09-05 193 views
-1

在同一陣列中的另一個條目目前我有一個數組看起來像這樣:檢查的條目匹配在PHP

Array ([searchKeyword] => kubota [searchUniques] => 361) 

Array ([searchKeyword] => deutz dx [searchUniques] => 357) 

Array ([searchKeyword] => kubota [searchUniques] => 350) 

正如你可以看到久保田是一個雙項。 我試過使用for循環來檢查入口是否是雙重的,但是它並不真正工作。

我的目的是:

當有一個雙項我想刪除的複式和「searchUniques」添加到當時的唯一項目。

預期的結果數組:

Array ([searchKeyword] => kubota [searchUniques] => 711) 

Array ([searchKeyword] => deutz dx [searchUniques] => 357) 

我希望這是有道理的。

+0

你的非工作循環是什麼樣的,它是如何失敗的? – jeroen

+0

你可以發佈你正在使用的代碼示例嗎? – alphanyx

+0

也發佈您的預期輸出數組。 – Progrock

回答

1

如果你想添加的搜索次數爲關鍵字,你可以這樣做:

$arr = array(
    array(
     'searchKeyword' => 'kubota', 
     'searchUniques' => 361, 
    ), 
    array(
     'searchKeyword' => 'deutzdx', 
     'searchUniques' => 361, 
    ), 
    array(
     'searchKeyword' => 'kubota', 
     'searchUniques' => 350 
    ), 
); 

$newArr = array(); 

foreach($arr as $data){ 
    $keyword = $data['searchKeyword']; 

    if(!isset($newArr[$keyword])){ 
     $newArr[$keyword] = array(
      'searchKeyword' => $keyword, 
      'searchUniques' => 0, 
     ); 
    } 

    $newArr[$keyword]['searchUniques'] += $data['searchUniques']; 
} 

它創建數組:

array (
    'kubota' => 
    array (
    'searchKeyword' => 'kubota', 
    'searchUniques' => 711, 
), 
    'deutzdx' => 
    array (
    'searchKeyword' => 'deutzdx', 
    'searchUniques' => 361, 
), 
) 

希望這有助於。

+0

謝謝!這解決了這個問題。 – Shuzuka