• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    php实现快速对二维数组某一列进行组装的方法小结

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

    问题:

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

    $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等这样的,除了循环处理外有没有比较方便快速的方法?

    解决方法:

    $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:

    $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:

    ?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相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《php排序算法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》及《PHP常用遍历算法与技巧总结》

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

    您可能感兴趣的文章:
    • PHP数组基本用法与知识点总结
    • PHP 数组操作详解【遍历、指针、函数等】
    • php数组指针函数功能及用法示例
    • PHP查找一列有序数组是否包含某值的方法
    • php数组函数array_push()、array_pop()及array_shift()简单用法示例
    • PHP字符串与数组处理函数用法小结
    • PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
    • PHP实现提取多维数组指定一列的方法总结
    • PHP数组对象与Json转换操作实例分析
    • 如何在PHP中使用数组
    上一篇:PHP实现发送微博消息功能完整示例
    下一篇:PHP实现提取多维数组指定一列的方法总结
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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