zoukankan      html  css  js  c++  java
  • Yii2 数组助手类arrayHelper

    数组助手类 ArrayHelper

    1、什么是数组助手类

    Yii 数组助手类提供了额外的静态方法,让你更高效的处理数组。

    a、获取值(getValue)

    class User
    {
      public $name = 'Alex';
    }
    $array = [   'foo' => [     'bar' => new User(),ddd   ] ]

    获取 name 的值

    PHP 方法:

    $value = isset($array['foo']['bar']->name) ? $array['foo']['name'] : null;

    ArrayHelper 方法:

    $value = ArrayHelper::getValue($array,'foo.bar.name');

    2、获取列(getColumn)

    从多维数组或者对象数组中获取某列的值

    $data = [
      ['id' => '123','data' => 'abc'], // key 相当于对象的属性名,value 相当于对象的属性值
      ['id' => '456','data' => 'def'],
    ]

    ArrayHelper 方法:

    $ids = ArrayHelper::getColumn($data,'id');

    结果:['123','456'];

    3、建立映射表(map)

    可以使用 map 方法从一个多维数组或者对象数组中取出数据,建立一个映射表(键值对数组),
    在 map 方法的参数列表中指定了预构建的映射表的键名和值。

    $array = [
    ['id'=>'123','name'=>'aaa','email'=>'x'],
    ['id'=>'456','name'=>'bbb','email'=>'y'],
    ['id'=>'789','name'=>'ccc','email'=>'z'],
    ]
    // ArrayHelper 方法:
    $result = ArrayHelper::map($array,'id','name');
    /*
    结果:
    [
      '123' => 'aaa'
      '456' => 'bbb'
      '789' => 'ccc,
    ]
    */
    $res = ArrayHelper::map(User::find()->asArray()->all(),'id','username');
    // User::find()=>asArray()->all(); 将 user 表的所有数据查询出来,返回结果为一个 二维数组
    var_dump($res);

    注:本文为作者(44106-kangaroo) 看完魏羲教你学Yii2.0 视频后所记,如有转载请注明出处:http://www.cnblogs.com/chrdai/p/8006752.html

  • 相关阅读:
    使用MyEclipse可视化开发Hibernate实例
    Query查询
    Java Filter过滤机制详解(转载)
    持久化对象的状态转换
    经典SQL语句大全
    持久对象的生命周期
    Mysql命令操作
    hibernate常用的接口和类的方法以及持久化对象的状态变化
    mysql的安装
    Visual C# 2008+SQL Server 2005 数据库与网络开发 10.8 小结
  • 原文地址:https://www.cnblogs.com/chrdai/p/8006752.html
Copyright © 2011-2022 走看看