[英]Getting a new array with just the elements that contain certain value
我有以下数组:
$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。 假设这次$ 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
太感谢了!
最简单的方法是将array_filter与自定义回调一起使用。 在这种情况下,使用闭包:
// $name is the variable containing 'JOHN'
$array2 = array_filter($array1, function($val) use ($name) {
return $val[2] === $name;
});
function search ($arr, $name){
$result = array();
foreach ($arr as $v) {
if ($v[2] == $name)
$result[] = $v;
}
return $result;
}
此函数返回仅包含所需值的数组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.