2012-09-18 83 views
0

我有以下數組中的元素:得到一個新的數組只包含一定的價值

$myArray 
: array = 
    0: array = 
    0: string = 2012 
    1: string = 1 
    2: string = JOHN 
    1: array = 
    0: string = 2012 
    1: string = 2 
    2: string = JOHN 
    2: array = 
    0: string = 2012 
    1: string = 3 
    2: string = MARK 

我也有變量$ name。 比方說,這一次$名稱等於JOHN

我有什麼做有隻包含JOHN這樣的元素的數組:

$myArray 
: array = 
    0: array = 
    0: string = 2012 
    1: string = 1 
    2: string = JOHN 
    1: array = 
    0: string = 2012 
    1: string = 2 
    2: string = JOHN 

萬分感謝!

+0

什麼都沒有,我無言以對 – lleoun

+0

那麼你至少試着做它通過的所有元素循環的手工方式? –

回答

1
function search ($arr, $name){ 
    $result = array(); 
    foreach ($arr as $v) { 
     if ($v[2] == $name) 
      $result[] = $v; 
    } 
    return $result; 
} 

該函數返回一個只包含所需值的數組。

2

最簡單的方法是使用array_filter自定義回調;在這種情況下使用閉包:

// $name is the variable containing 'JOHN' 
$array2 = array_filter($array1, function($val) use ($name) { 
    return $val[2] === $name; 
}); 
相關問題