php实现快速对二维数组某一列进行组装的方法小结

2025-05-29 0 79

本文实例总结了php实现快速对二维数组某一列进行组装的方法。分享给大家供大家参考,具体如下:

问题:

比如我二维数组是这样的:

?

1

2

3

4

5

6

7
$user = array(

'0'=> array('id'=>100,'username'=>'a1'),

'1'=> array('id'=>101,'username'=>'a2'),

'2'=> array('id'=>102,'username'=>'a3'),

'3'=> array('id'=>103,'username'=>'a4'),

'4'=> array('id'=>104,'username'=>'a5'),

)

如何快速的获取所有id组成的ids字符串,比如$ids='100,101,102,103,104'; 再者如果我有条件的组装,比如id!=103等这样的,除了循环处理外有没有比较方便快速的方法?

解决方法:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20
$user = array(

'0'=> array('id'=>100,'username'=>'a1'),

'1'=> array('id'=>101,'username'=>'a2'),

'2'=> array('id'=>102,'username'=>'a3'),

'3'=> array('id'=>103,'username'=>'a4'),

'4'=> array('id'=>104,'username'=>'a5'),

);

/**

* @param array $array 数组

* @param string $k 要获取值的key

* @param array $rm 要去除的数据

* */

function array_get_v($array, $k, $rm)

{

if (!trim($k)) return false;

preg_match_all("/\\"$k\\":(\\d+)/", json_encode($array), $res);

$res = array_diff($res[1],$rm);

return implode(',',$res);

}

print_r(array_get_v($user, 'id',array(101)));

运行结果:

100,102,103,104

补充方法:

例1:

?

1

2

3

4

5

6

7

8

9

10

11
$user = array(

'0' => array('id' => 100, 'username' => 'a1'),

'1' => array('id' => 101, 'username' => 'a2'),

'2' => array('id' => 102, 'username' => 'a3'),

'3' => array('id' => 103, 'username' => 'a4'),

'4' => array('id' => 104, 'username' => 'a5'),

);

array_walk($user, function($v, $k) use(&$ids){

$ids[$k] = $v['id'];

});

echo implode(',', $ids);

运行结果:

100,101,102,103,104

例2:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15
<?php

function process($v){

//如果要加限制条件,在这里加入即可

if(isset($v['id']))

return $v['id'];

}

$user = array(

'0' => array('id' => 100, 'username' => 'a1'),

'1' => array('id' => 101, 'username' => 'a2'),

'2' => array('id' => 102, 'username' => 'a3'),

'3' => array('id' => 103, 'username' => 'a4'),

'4' => array('id' => 104, 'username' => 'a5'),

);

$aUser = array_map("process", $user);

echo implode(',', $aUser);

运行结果:

100,101,102,103,104

希望本文所述对大家PHP程序设计有所帮助。

原文链接:http://www.dewen.net.cn/q/5090/php+%E5%BF%AB%E9%80%9F%E7%9A%84%E5%AF%B9%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84%E6%9F%90%E4%B8%80%E5%88%97%E8%BF%9B%E8%A1%8C%E7%BB%84%E8%A3%85%E7%9A%84%E6%96%B9%E6%B3%95

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 php实现快速对二维数组某一列进行组装的方法小结 https://www.kuaiidc.com/91911.html

相关文章

发表评论
暂无评论