我怎样才能得到一个多维数组的单一类型的数组(无环) [英] How can I get the array of a single type from a multi dimensional array (without a loop)

查看:84
本文介绍了我怎样才能得到一个多维数组的单一类型的数组(无环)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下的数组$ foo的

 阵列(10){
[0] =>阵列(4){[MERCHANTID] =>串(5)12e21
[programId] =>串(27)ddd3333
[NETWORKID] => INT(4)
[的clientId] => INT(178)
}
[1] =>阵列(4){[MERCHANTID] =>串(5)112E1
[programId] =>串(27)2vfrdbv1&安培; = 10安培; tmfdpid = CSSS
[NETWORKID] => INT(4)
[的clientId] => INT(178)
}
[2] =>阵列(4){[MERCHANTID] =>串(5)112E1
[programId] =>串(27)2vfrdbv1&安培; = 10安培; tmfdpid = CSSS
[NETWORKID] => INT(4)
[的clientId] => INT(178)
}

和我需要的clientId的数组(只)

是否有可能访问刚刚确定clientid没有循环创建ID的数组?

是这样的:

  $ foo的['的clientId']; //不工作


解决方案

在PHP 5.5:

  $ rgResult = array_column($ foo的'的clientid');

在PHP< = 5.5:

  $ rgResult = array_map(函数($ rgItem)
{
  返回$ rgItem ['的clientId'];
} $ foo的);

(把< = 因为这,事业,将在5.5太工作)

I have the following array $foo

array(10) {
[0] => array(4) {

["merchantId"] => string(5) "12e21"
["programId"] => string(27) "ddd3333"
["networkId"] => int(4)
["clientId"] => int(178)
}
[1] => array(4) {

["merchantId"] => string(5) "112e1"
["programId"] => string(27) "2vfrdbv1&=10&tmfdpid=csss"
["networkId"] => int(4)
["clientId"] => int(178)
}
[2] => array(4) {

["merchantId"] => string(5) "112e1"
["programId"] => string(27) "2vfrdbv1&=10&tmfdpid=csss"
["networkId"] => int(4)
["clientId"] => int(178)
}

And I need an array of clientId's (only)

Is it possible to access just the clientId to create an array of id's without a loop?

Something like:

$foo['clientId']; //which doesn't work

解决方案

In PHP 5.5:

$rgResult = array_column($foo, 'clientId');

in PHP <=5.5:

$rgResult = array_map(function($rgItem)
{
  return $rgItem['clientId'];
}, $foo);

(put <= since this, of cause, will work in 5.5 too)

这篇关于我怎样才能得到一个多维数组的单一类型的数组(无环)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆