[q] => array(4) { [0] => array(11) { [id] => string(1) 1,[k] => string(1) q } [1] => array(11) { [id] => string(1) 2,[k] => string(1) h } [2] => array(11) { [id] => string(1) 3, [k] => string(1) v } [3] => array(11) { [id] => string(1) 4, [k] => string(1) v }}[v] => array(4) { [0] => array(11) { [id] => string(1) 1,[k] => string(1) q } [1] => array(11) { [id] => string(1) 2,[k] => string(1) h } [2] => array(11) { [id] => string(1) 3, [k] => string(1) v } [3] => array(11) { [id] => string(1) 4, [k] => string(1) v }}[h] => array(4) { [0] => array(11) { [id] => string(1) 1,[k] => string(1) q } [1] => array(11) { [id] => string(1) 2,[k] => string(1) h } [2] => array(11) { [id] => string(1) 3, [k] => string(1) v } [3] => array(11) { [id] => string(1) 4, [k] => string(1) v }}
滤成这样
[q] => array(1) { [0] => array(11) { [id] => string(1) 1 [k] => string(1) q }}[v] => array(2) { [0] => array(11) { [id] => string(1) 3 [k] => string(1) v } [1] => array(11) { [id] => string(1) 4 [k] => string(1) v }}[h] => array(1) { [0] => array(11) { [id] => string(1) 2 [k] => string(1) h }}
回复内容: 怎么把类似这样的数组过
[q] => array(4) { [0] => array(11) { [id] => string(1) 1,[k] => string(1) q } [1] => array(11) { [id] => string(1) 2,[k] => string(1) h } [2] => array(11) { [id] => string(1) 3, [k] => string(1) v } [3] => array(11) { [id] => string(1) 4, [k] => string(1) v }}[v] => array(4) { [0] => array(11) { [id] => string(1) 1,[k] => string(1) q } [1] => array(11) { [id] => string(1) 2,[k] => string(1) h } [2] => array(11) { [id] => string(1) 3, [k] => string(1) v } [3] => array(11) { [id] => string(1) 4, [k] => string(1) v }}[h] => array(4) { [0] => array(11) { [id] => string(1) 1,[k] => string(1) q } [1] => array(11) { [id] => string(1) 2,[k] => string(1) h } [2] => array(11) { [id] => string(1) 3, [k] => string(1) v } [3] => array(11) { [id] => string(1) 4, [k] => string(1) v }}
滤成这样
[q] => array(1) { [0] => array(11) { [id] => string(1) 1 [k] => string(1) q }}[v] => array(2) { [0] => array(11) { [id] => string(1) 3 [k] => string(1) v } [1] => array(11) { [id] => string(1) 4 [k] => string(1) v }}[h] => array(1) { [0] => array(11) { [id] => string(1) 2 [k] => string(1) h }}
array( array( 'id'=>1, 'k'=>'q' ), array( 'id'=>2, 'k'=>'h' ), array( 'id'=>3, 'k'=>'v' ), array( 'id'=>4, 'k'=>'v' ), ), 'v'=>array( array( 'id'=>1, 'k'=>'q' ), array( 'id'=>2, 'k'=>'h' ), array( 'id'=>3, 'k'=>'v' ), array( 'id'=>4, 'k'=>'v' ), ), 'h'=>array( array( 'id'=>1, 'k'=>'q' ), array( 'id'=>2, 'k'=>'h' ), array( 'id'=>3, 'k'=>'v' ), array( 'id'=>4, 'k'=>'v' ), ), );echo '';print_r($arr);$new_arr = array();foreach($arr as $key=>$val) { foreach($val as $k=>$v) { if($key == $v['k']) { $new_arr[$key][] = $v; } }}echo '';print_r($new_arr);
array_filter($arr,fun);
fun里面用数组的key去和k判断,不等于的unset掉
$keys = array_keys($arr);$newarr = array();$i = 0;foreach ($arr as $key => $value) { $newarr[$key] = array_filter($value, function ($val) { global $keys; global $i; return $val[k] == $keys[$i]; }); $i++;}
