您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php数组过滤问题?

2024/2/22 10:12:11发布23次查看
怎么把类似这样的数组过
[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++;}
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product