2017-02-24 37 views
2

我有以下陣列$outsPHP多維數組搜索 - 在值不是唯一

Array ( 
    [0] => Array ([Dept] => Sales  [Team] => Field [Out_Count] => 14) 
    [1] => Array ([Dept] => IT   [Team] => Tech Sup [Out_Count] => 2) 
    [2] => Array ([Dept] => Marketing [Team] => Digital [Out_Count] => 33) 
    [3] => Array ([Dept] => Operations [Team] => Field [Out_Count] => 7) 
    [4] => Array ([Dept] => Finance [Team] => Corp  [Out_Count] => 7) 
) 

我有一個varaible如下:

$los = 'Field'; 

我有以下的代碼,帶回value根據團隊如下Out_Count如下:

$key = array_search($los, array_column($outs, 'Team')); 
$count = $outs[$key]['Out_Count']; 

但是,我遇到了問題,因爲Field不是唯一的!我嘗試了以下...但沒有喜悅:

$los = 'Field'; 
$loc = 'Sales'; 

然後:

$key = array_search($loc, array_column($outs, 'Dept'), $los, array_column($outs, 'Team')); 
$count = $outs[$key]['Out_Count']; 

,但沒有喜悅...顯然我會錯了!任何意見將是有益的!

回答

1

您可以試試,

$search = ['Team' => 'Field', 'Dept' => 'Sales']; 
$keys = array_keys(
    array_filter(
     $outs, 
     function ($v) use ($search) { return $v['Team'] == $search['Team'] && $v['Dept'] == $search['Dept']; } 
    ) 
); 
$key = $keys[0]; 
$count = $outs[$key]['Out_Count'];