将二维数组转为一维数组的2种方法

如何将下面的二维数组转为一维数组。

代码如下:

$msg = array(
  array(
    'id'=>'45',
    'name'=>'jack'
  ),
  array(
    'id'=>'34',
    'name'=>'mary'
  ),
  array(
    'id'=>'78',
    'name'=>'lili'
  ),
);

第一种方法:

代码如下:

foreach($msg as $k => $v){
    $ids[] = $id;
    $names[] = $name;
  }

第二种方法:

代码如下:

$ids = array_column($msg, 'id');
 $names = array_column($msg, 'name');

以上两种解法print_r($names);后的结果为:

代码如下:

Array(
  [0]=>jack
  [1]=>mary
  [2]=>lili
)

注意:array_column();可以有第三个参数,如 $n = array_column($msg, 'name', 'id');

print_r($n);的结果为:

代码如下:

Array(
  [45]=>jack
  [34]=>mary
  [78]=>lili
)

(0)

相关推荐

  • PHP二维数组排序的3种方法和自定义函数分享

    关于排序一般我们都是通过数据库或者nosql(eg:redis)先排好序然后输出到程序里直接使用,但是有些时候我们需要通过PHP直接来对数组进行排序,而在PHP里存储数据用到最多的就是对象和数组,但处理较多的就是数组,因为有非常丰富的内置函数库(其实对象一定程度上也可以理解为是数组),这些函数库很大程度上可以帮助我们实现某些功能.常用的系统函数有sort.asort.arsort.ksort.krsort等等,这里我主要说下对二维数组的排序,两种方法: 一.用PHP自带array_multiso

  • js处理自己不能定义二维数组的方法详解

    复制代码 代码如下: var a= new Array(new Array(1,2),new Array('b','c')); document.write(a[1][1]); 说白了,就是利用for循环定义二维数组! ?<script language="javascript" type="text/javascript">     function Array_2(nRow,nColumn){         var array1=new Array

  • PHP统计二维数组元素个数的方法

    解决思路1. 首先从数据库的congtent字段读取数据,并把它们合并成一个字符串. 复制代码 代码如下: <?php while($myrow = $connector -> fetch_array($result)) {  //$r[] = explode(",", $myrow["content"]);  $str .= $myrow["content"].','; } $arr_str = substr($str, 0, -1

  • JS中取二维数组中最大值的方法汇总

    在JavaScript中可以通过内置的 Math.max() 的最大值,但是要从多重数组中取出最大值,还是有一定的难度. 问题描述 假设你有一个数组,而且这个数组中包含了数字的子数组,而我们要做的是从数组中的每个子数组中返回其最大的那个最大数. 基本解决方案 function largestOfFour(arr) { var results = []; // 创建一个results变量来存储 // 创建一个外层循环,遍历外层数组 for (var n = 0; n < arr.length; n

  • js二维数组定义和初始化的三种方法总结

    方法一:直接定义并且初始化,这种遇到数量少的情况可以用 var _TheArray = [["0-1","0-2"],["1-1","1-2"],["2-1","2-2"]] 方法二:未知长度的二维数组 var tArray = new Array(); //先声明一维 for(var k=0;k<i;k++){ //一维长度为i,i为变量,可以根据实际情况改变 tArray[k]

  • Swift中定义二维数组的方法及遍历方法示例

    //定义方式一 var array1 = [[Int]]() //定义方式二 var array2 = Array<Array<Int>>() array1 = [ [13,1,4], [5,1,7,6] ] array2 = array1 // 一维数组的定义 var v = [Int]() v = [4,5,7,8] array2.append(v) println(array1) println(array2) //数组的遍历 for var i=0; i<array1

  • php二维数组排序方法(array_multisort usort)

    例如像下面的数组: 复制代码 代码如下: $users = array(    array('name' => 'tom', 'age' => 20)    , array('name' => 'anny', 'age' => 18)    , array('name' => 'jack', 'age' => 22)); 希望能按照age从小到大进行排序.笔者整理了两个方法出来,分享给大家. 1.使用array_multisort 使用这个方法,会比较麻烦些,要将age

  • JS二维数组的定义说明

    1.二维数组声明方式是下面这样的:var images=new Array(); //先声明一维 for(var i=0;i<10;i++){ //一维长度为10 images[i]=new Array(); //在声明二维 for(var j=0;j<20;j++){ //二维长度为20 images[i][j]=1; } } 2.二级数组使用方式应该是这样子的: alert(images[0][0]);

  • php二维数组排序详解

    有时候为了达到一定目的,需要对二维数组进行排序,现分享一下其实现的方法. 复制代码 代码如下: $arr=array ('1' => array ( 'date' => '2011-08-18', 'num' => 5 ) ,'2' => array ( 'date' => '2011-08-20', 'num' => 3 ) ,'3' => array ( 'date' => '2011-08-17', 'num' => 10 ) )  ; $res

  • 将二维数组转为一维数组的2种方法

    如何将下面的二维数组转为一维数组. 复制代码 代码如下: $msg = array( array( 'id'=>'45', 'name'=>'jack' ), array( 'id'=>'34', 'name'=>'mary' ), array( 'id'=>'78', 'name'=>'lili' ),); 第一种方法: 复制代码 代码如下: foreach($msg as $k => $v){ $ids[] = $id; $names[] = $name; }

  • 3个PHP多维数组转为一维数组的方法实例

    很多时候我们需要将多维数组转成一维数组,因为我们只需要一维数组,而且一维数组使用起来更方便,在PHP中如何将多维数组转成一维数组?下面我们来看看三个多维数组转为一维数组例子:一.使用foreach 复制代码 代码如下: <?php   function arr_foreach ($arr)    {      static $tmp=array();        if (!is_array ($arr))       {         return false;      }      fo

  • js将多维数组转为一维数组后去重排序

    目录 先说一下多维数组拍平 方法一: flat() 方法二: 用空字符串拼接再用split()分割一下 方法三: toString() 方法四: join() 方法五:递归调用 方法六:使用reduce 数组去重 方法一:创建一个新数组,判断新数组中是否存在该元素如果不存在则将此元素添加到新数组中 方法二:使用Set大法 方法三:使用filter() 数组排序 方法一:使用sort() 整理几个方法,怕后面忘记了又要到处翻笔记 先说一下多维数组拍平 方法一: flat() // 比如说这里有一个

  • 利用递归把多维数组转为一维数组的函数

    函数名称:array_multi2single 函数原形:array array_multi2single(array) 实现功能:把一个多维数组的数值存放到一维数组中,不保存Key. <?php function array_multi2single($array) {     static $result_array=array();     foreach($array as $value)     {         if(is_array($value))         {     

  • PHP多维数组转一维数组的简单实现方法

    本文实例讲述了PHP多维数组转一维数组的简单实现方法.分享给大家供大家参考,具体如下: php语言本身没有将多维数组转为一维数组的函数,但是我们可以自己写一个php函数来实现将多维转一维的功能. 运用了递归,简单粗暴,整个函数体9行代码就实现了该功能,php源码如下: $multi = array( array( array( 'wo', 'shi' ), 'php' ), 'cheng', array( array( 'xu', 'yuan', ) ), '!' ); $multi = arr

  • python多维列表总是只转为一维数组问题解决

    正文 # 从X和Y中取出相应步长对应的数组并保存至x_data和y_data中 x_data = [] y_data = [] for i in range(len(K) - 24*n + 1): x_data.append(X[i:i + 24*n, :]) y_data.append(Y[i + 24 * n:i + 24 * n + 24 * n, :]) # 将x_data和y_data转为ndarray n_train_hours = 24*365 x_train = np.array

  • Python numpy实现二维数组和一维数组拼接的方法

    撰写时间:2017.5.23 一维数组 1.numpy初始化一维数组 a = np.array([1,2,3]); print a.shape 输出的值应该为(3,) 二维数组 2.numpy初始化二维数组 a = np.array([[1,2,3]]); b = np.array([[1],[2],[3]]); print a.shape//(1,3) print b.shape//(3,1) 注意(3,)和(3,1)的数组是不一样的,前者是一维数组,后者是二维数组. 拼接 3.numpy有很

  • python将二维数组升为一维数组或二维降为一维方法实例

    目录 1. 二维(多维)数组降为一维数组 方法1: reshape()+concatenate 函数, 方法2: flatten() 函数, 方法3: itertools.chain 方法4: sum() 方法5:operator.add + reduce 方法6:列表推导式 2. 一维数组升为 2 维数组 方法1:numpy 方法 总结 1. 二维(多维)数组降为一维数组 方法1: reshape()+concatenate 函数, 这个方法是间接法,利用 reshape() 函数的属性,间接

  • js嵌套的数组扁平化:将多维数组变成一维数组以及push()与concat()区别的讲解

    数组的扁平化:将多维数组变成一维数组 对于一个像这样的嵌套数组:a=[1,[2,[3,4]],5,6]我们想要把它变成一个一维数组,有下面几种方法: 方法一:递归一 function parseArr(arr,res){ var i=0; for(i=0;i<arr.length;i++){ if(arr[i] instanceof Array){ parseArr(arr[i],res); }else{ res.push(arr[i]); } } } var a=[1,[2,[3,4]],5,

  • PHP实现多维数组转字符串和多维数组转一维数组的方法

    本文实例讲述了PHP实现多维数组转字符串和多维数组转一维数组的方法.分享给大家供大家参考.具体实现方法如下: /** * @method 多维数组转字符串 * @param type $array * @return type $srting * @author yanhuixian */ function arrayToString($arr) { if (is_array($arr)){ return implode(',', array_map('arrayToString', $arr)

随机推荐