• 从数据库中返回的数据结果中获取指定数据


     需求:我在数据库中查询的时候,为了少写方法,就尽量共用方法,但是部分情况是返回了大量冗余的数据,我需要一滴水,你却给我了整片海。

     例如:

    <?php
    // 表示由数据库返回的可能记录集的数组
    $a = array(
      array(
        'id' => 5698,
        'first_name' => 'Bill',
        'last_name' => 'Gates',
      ),
      array(
        'id' => 4767,
        'first_name' => 'Steve',
        'last_name' => 'Jobs',
      )
      array(
        'id' => 3809,
        'first_name' => 'Mark',
        'last_name' => 'Zuckerberg',
      )
    );
    
    $last_names = array_column($a, 'last_name');
    print_r($last_names);
    ?>

    而我需要的输出可能只是这样的,只需要获取 ‘last_name’ 字段

    Array
    (
      [0] => Gates
      [1] => Jobs
      [2] => Zuckerberg
    )

    array_column() 返回输入数组中某个单一列的值。

    语法

    array_column(array,column_key,index_key);
    参数描述
    array 必需。规定要使用的多维数组(记录集)。
    column_key

    必需。需要返回值的列。

    可以是索引数组的列的整数索引,或者是关联数组的列的字符串键值。

    该参数也可以是 NULL,此时将返回整个数组(配合 index_key 参数来重置数组键的时候,非常有用)。

    index_key 可选。用作返回数组的索引/键的列。

     方法二:也可以新建一个临时数组,将需要的字段获取到

    $temp = [];
     foreach ($ret as $key => $value) {
       $temp[$key] = $value['last_name'];
     }

    更多将二维数组转换为一维数组的情况:http://www.jb51.net/article/50410.htm

  • 相关阅读:
    SVN:cannot map the project with svn provider解决办法
    项目管理工具_maven的配置
    servlet,过滤器,监听器,拦截器的区别
    索引
    事务的隔离级别和传播行为
    jbpm工作流
    Hibernate---进度1
    java——反射
    HttpClient
    TCP和UDP并实现socket的简单通信
  • 原文地址:https://www.cnblogs.com/xs-yqz/p/6080654.html
Copyright © 2020-2023  润新知