Php 获取仅包含特定值的元素的新数组
我得到了以下数组:Php 获取仅包含特定值的元素的新数组,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我得到了以下数组: $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 = MAR
$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
万分感谢
function search ($arr, $name){
$result = array();
foreach ($arr as $v) {
if ($v[2] == $name)
$result[] = $v;
}
return $result;
}
此函数返回仅包含所需值的数组
此函数返回一个仅包含所需值的数组。最简单的方法是与自定义回调一起使用;在这种情况下,使用闭包:
// $name is the variable containing 'JOHN'
$array2 = array_filter($array1, function($val) use ($name) {
return $val[2] === $name;
});
最简单的方法是使用自定义回调;在这种情况下,使用闭包:
// $name is the variable containing 'JOHN'
$array2 = array_filter($array1, function($val) use ($name) {
return $val[2] === $name;
});
你至少试过用手动方式循环所有元素吗?你至少试过用手动方式循环所有元素吗?