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,
]
*/

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

时间: 2024-10-06 22:53:49

Yii2 数组助手类arrayHelper的相关文章

Yii的数组助手类

获取值 用原生PHP从一个对象.数组.或者包含这两者的一个复杂数据结构中获取数据是非常繁琐的. 你首先得使用isset 检查 key 是否存在, 然后如果存在你就获取它,如果不存在, 则提供一个默认返回值: Yii 提供了一个非常方便的方法来做这件事: 方法的第一个参数是我们从哪里获取值.第二个参数指定了如何获取数据, 它可以是下述几种类型中的一个: 数组键名或者欲从中取值的对象的属性名称: 以点号分割的数组键名或者对象属性名称组成的字符串,上例中使用的参数类型就是该类型: 返回一个值的回调函数

java数组操作工具类

package com.zuidaima.util.common; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; /** * 数组操作辅助类,支持int,char,boject,String类型 *@author www.zuidaima.com */ public class ArrayHelp

C# I/O 助手类

在使用 C# 语言解 ACM 题的时候,如果能够有一个 ReadInt32 方法直接从标准输入读取整数比较方便的.下面就是一个 I/O 助手类 IOHelper: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59

黑马程序员————数组工具类对象建立

今天学习了数组工具类对象的建立巩固掌握以前学习的语句,函数,数组等相关知识 /** 建立一个用于操作数组的工具类,其中包括者常见的对数组操作的函数,如:最值,排序等 @author lostnotes */ public class ArraryTool { private ArrayTool () {}//该类中的方法都是静态的,所以不需要创建对象. //为了保证其他成员不创建该类对象,可以构造函数私有化. } /** 获取整数类型数组的最大值 @param arr 接收一个元素为int类型的

Java 数组工具类排序,最大值最小值等

public class ArrayUtils{ /** * 返回数组最大值 * * @param a * @return */ public static int max(int[] a){ // 返回数组最大值 int x; int aa[]=new int[a.length]; System.arraycopy(a,0,aa,0,a.length); x=aa[0]; for(int i=1;i<aa.length;i++){ if(aa[i]>x){ x=aa[i]; } } retu

javadoc简易数组工具类文档(API)

制作简易数组工具类文档(API) 如何创建文档 以数组工具类(Array)为例一丶创建一个数组工具类  要求实现(1)遍历数组(2)求数组中的最大值(3)查询数组中的元素在数组中第一次出现的索引(4)将数组元素翻转并遍历 /** * 这是数组的一个工具类 * @author Apple * @version V1.0 * */ public class Array{  private Array(){ //将无参构造私有化,无法实例化  }    /**遍历数组  * @param arr :需

Arrays:数组工具类

Arrays:数组工具类,提供了操作数组的各种方法 public static int binarySearch(Xxx[] xx, Xxx xx)  二分法查找,要求数组排序 public static void sort(Xxx[] xx)  将数组排序 public static String toString(Xxx[] xx)  将数组的内容返回成字符串,而不让数组返回其地址值.

WorldWind源码剖析系列:代理助手类ProxyHelper

代理助手类ProxyHelper通过平台调用的互操作技术封送了若干Win32结构体和函数.该类类图如下. 提供的主要处理方法基本上都是静态函数,简要描述如下: 内嵌类型WINHTTP_AUTOPROXY_OPTIONS代表自动代理选项的Win32结构体. 内嵌类型WINHTTP_PROXY_INFO代表被WinHTTP互操作返回的代理信息结构体. static extern IntPtr WinHttpOpen()封送Win32动态链接库中的打开Windows Http服务函数. static

WorldWind源码剖析系列:图像助手类ImageHelper

图像助手类ImageHelper封装了对各种图像的操作.该类类图如下. 提供的主要处理方法基本上都是静态函数,简要描述如下: public static bool IsGdiSupportedImageFormat(string imageFileName) 静态函数用给定的图像文件名称来判断该图像是否是Windows GDI+支持的图像. public static Texture LoadTexture(string textureFileName) 静态函数从指定的图像文件路径加载并返回纹