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

函数名称:array_multi2single
函数原形:array array_multi2single(array)
实现功能:把一个多维数组的数值存放到一维数组中,不保存Key。

<?php

function array_multi2single($array)
{
    static $result_array=array();
    foreach($array as $value)
    {
        if(is_array($value))
        {
            array_multi2single($value);
        }
        else  
            $result_array[]=$value;
    }
    return $result_array;
}

//函数测试部分
$array=array("1"=>array("A","B","C",array("D","E")),"2"=>array("F","G","H","I"));
$array=array_multi2single($array);
echo "<h1>测试结果:</h1>";
foreach($array as $value)
{
    echo "<h5>$value</h5>";
    echo "<br>";

}

?>

欢迎大家批评指正!

作者Email:fancao0515@0451.com

【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】

(0)

相关推荐

  • PHP对象转换为数组函数(递归方法)

    返回的是一个层次比较分明的数组对象,希望对大家有所帮助,来源WEB开发笔记(www.chhua.com). 复制代码 代码如下: function object_to_array($obj) { $_arr = is_object($obj) ? get_object_vars($obj) : $obj; foreach ($_arr as $key => $val) { $val = (is_array($val) || is_object($val)) ? object_to_array($

  • 利用php递归实现无限分类 格式化数组的详解

    我们要做一个商品的无限分类首先数据库字段为:id ----------商品主键idfid ---------- 商品父idname ---------- 商品名最后输出的数组格式为 复制代码 代码如下: <PRE class=php name="code"><PRE class=php name="code">array( 0=>array(  'id'=>1,  'fid'=>0,  'name'=>'法国货'  '

  • 使用递归实现数组求和示例分享

    思路如下: 给定一个含有n个元素的整型数组a,求a中所有元素的和.问题的难点在于如何使用递归上.如果使用递归,则需要考虑如何进行递归执行的开始以及终止条件,首先如果数组元素个数为0,那么和为0.同时,如果数组元素个数为n,那么先求出前n-1个元素之和,再加上a[n-1]即可.此时可以完成递归功能.总之,递归就是在某个函数的执行过程中首先判断它的终止条件参数,终止条件参数满足终止条件则执行完毕,终止条件参数不满足终止条件则调用它自身执行某项运算,比如这里求和就是执行加法.凡是递归一定都有一个参数作

  • 使用PHP数组实现无限分类,不使用数据库,不使用递归.

    复制代码 代码如下: <?php class cat {     public $data; public function __construct()      {         @include "data.php";         $this->data = $class;     } public function CreateSortLevel($fatherlevel)     {         if(empty($fatherlevel))       

  • 用递归查找有序二维数组的方法详解

    假设给定一个有序二维数组,每一行都是从左到右递增,每一列都是从上到下递增,如何完成一个函数,输入这样一个二维数组和一个整数,判断这个整数是否在这个二维数组中.假设一个4×4的有序二维数组:          1          2          8          9          2          4          9          12          4          7          10        13          6          8 

  • 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() // 比如说这里有一个

  • 将二维数组转为一维数组的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; }

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

    函数名称: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

  • 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,

  • python实现将读入的多维list转为一维list的方法

    第一种:使用extend() >>> lines = open('test.txt').readlines() >>> lines ['1\n', '2\n', '3\n', '4,5\n'] >>> for line in lines: ... ll.extend(line.strip().split(',')) ... >>> ll ['1', '2', '3', '4', '5'] 第二种:使用+ >>> ll

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

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

  • 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有很

随机推荐