2012-09-18 60 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; 
}); 
相关问题