php递归遍历多维数组的方法

本文实例讲述了php递归遍历多维数组的方法。分享给大家供大家参考。具体如下:

function get_array_elems($arrResult, $where="array"){

while(list($key,$value)=each($arrResult)){

if (is_array($value)){

get_array_elems($value, $where."[$key]");

}

else {

for ($i=0; $i

echo $where."[$key]=".$value."
\n";

}

}

}

}

get_array_elems($arrResult);

?>

希望本文所述对大家的php程序设计有所帮助。

时间: 2015-04-16

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

复制代码 代码如下: <?php //声明一个三维数组 $info=array( "user"=>array( array(1,"zhangsan",20,"nan"), array(2,"lisi",20,"nan"), array(3,"wangwu",25,"nv") ), "score"=>array( array(1,1

数字索引数组: bool usort( array &$array, callback $cmp_function ) usort函数对指定数组(参数1)按指定方式(参数2)进行排序. 当我们想对多维数组进行排序时,多维数组的每个元素又是一数组类型,而两个数组如何比较大小?这是需要用户自定义的(是按每个数组的第一元素比较还是-). 复制代码 代码如下: <?php //定义多维数组 $a = array( array("sky", "blue"), a

本文实例讲述了php使用str_replace替换多维数组的实现方法.分享给大家供大家参考,具体如下: 在php中,如果使用str_replace替换数组中的字符串,只能替换一维的数组,如果是多维数组的话,不能实现全部字符串的替换.于是就写了一个方法实现多维数组字符串的替换, 首先来测试一下直接使用str_replace来测试数组的替换 $a = array( 'a' => 'bdc#', 'ceshi' => array('c'=>array('f'=>'#')) ); $a =

复制代码 代码如下: <?php header("Content-type: text/html; charset=utf-8"); function multiple_replace_words($word,$replace,$string,$tmp_match='#a_a#'){ preg_match_all('/'.$word.'/',$string,$matches); //匹配所有关键词 $search = explode(',','/'.implode('/,/',$

复制代码 代码如下: function array_remove_key($array, $keys) { $num = count($keys); $num_last = $num - 1; $this_array_0 = &$array; $last_key = $keys[$num_last]; for ($i = 0; $i < $num_last; $i++) { $this_key = $keys[$i]; $this_var_name = 'this_array_' . $i;

复制代码 代码如下: //判断一个数组是否为空 /** array( ); 空 array( array( ), array( ), array( ) ); 空 array( array( ), array( array( ), array( 1=>1 ) ), array( ) ); 非 空 */ function is_array_null($value) { if (empty($value)) { return $value; } else { return is_array($valu

本文实例讲述了php根据某字段对多维数组进行排序的方法.分享给大家供大家参考.具体分析如下: 根据某字段对多维数组进行排序,在看到array_multisort方法的作用时突然想到,可以用来做这个方法 这段代码可实现根据field字段对数组进行排序 function sortArrByField(&$array, $field, $desc = false){ $fieldArr = array(); foreach ($array as $k => $v) { $fieldArr[$k]

本文实例讲述了php实现遍历多维数组的方法.分享给大家供大家参考,具体如下: $a=array('fruits'=>array('a'=>'orange','b'=>'grape',c=>'apple'), 'numbers'=>array(1,2,3,4,5,6), 'holes'=>array('first',5=>'second','third') ); //第一种: foreach($a as $list=>$things){ if(is_array

先来看个sql语句: select * from table where ctime >= '[date-14]' and ctime <= '[date-1]'; 想把上面这句sql的中括号表示的日期依次换成下面的数组中的元素array('2015-07-01','2015-07-15'); 用正则匹配:找到第一个中括号部分,用第一个元素替换,然后找第二个,再替换 用sprintf函数:因为日期已经计算好,按照顺序替换就可以了. 因为markdown写正则比较麻烦,这里就直接上图片了 ps:

PHP str_replace方法,替换字符串 格式如下: mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )  search 查找的目标值,也就是 needle.一个数组可以指定多个目标. replace search 的替换值.一个数组可以被用来指定多重替换. subject 执行替换的数组或者字符串.也就是 haystack.如果 subject 是一个数组,替换操作将

复制代码 代码如下: $username = "zongzi"; echo substr_replace($username,'**','1','2'); 定义和用法 substr_replace() 函数把字符串的一部分替换为另一个字符串. 语法substr_replace(string,replacement,start,length) 参数 描述 string 必需.规定要检查的字符串. replacement 必需.规定要插入的字符串. start 必需.规定在字符串的何处开始

本文实例讲述了php中count获取多维数组长度的实现方法.分享给大家供大家参考.具体分析如下: 先来看看下面程序运行结果: 复制代码 代码如下: $numb=array(             array(10,15,30),array(10,15,30),array(10,15,30) );   echo count($numb,1); A.3 B.12 C.6 D.9 答案是B count函数中如果mode被设置为 COUNT_RECURSIVE(或 1),则会递归底计算多维数组中的数组

本文实例讲述了JS获取多维数组中相同键的值实现方法.分享给大家供大家参考,具体如下:

Demo

在php中获取数组长度方法很简单,php为我们提供了两个函数可以计算一维数组长度,如count,sizeof都可以直接统计数组长度哦,下面我们来看几个实例吧.php如何获取数组的长度,使用php函数count(),或是sizeof()例如: 复制代码 代码如下: $arr = Array('0','1','2','3','4'); echo count($arr);// 输出 5$arr = array('A','B','C');echo sizeof($arr);//输出3 sizeof()和

本文实例讲述了thinkPHP中多维数组的遍历方法.分享给大家供大家参考,具体如下: $drug=array( 'ACEI'=>array(array('ch_name'=>'我们','en_name'=>'captopril'),array('ch_name'=>'脚本下载','en_name'=>'enalapril'), array('ch_name'=>'赖诺普利','en_name'=>'lisinopril')), 'ARB'=>array(ar

C++中指针指向二维数组实例详解 一维指针通常用指针表示,其指向的地址是数组第一元素所在的内存地址,如下 int ary[4][5]; int(*aryp)[5] = ary; 那么ary[4]相当于int(*aryp),以下理解如此,但参数传递需要知道实参所在 的一维个数,所以传递的时候应该传递多一个参数,子数组的引用可以理解 为(*p),那么取元素就是(*p)[i],如下 void printVal(int(*aryp)[5],int irowCount){ for (int(*p)[5]

本文实例讲述了Python简单获取二维数组行列数的方法.分享给大家供大家参考,具体如下: import numpy as np x = np.array([[1,2,5],[2,3,5],[3,4,5],[2,3,6]]) # 输出数组的行和列数 print x.shape # (4, 3) # 只输出行数 print x.shape[0] # 4 # 只输出列数 print x.shape[1] # 3 本机测试运行结果如下图所示: 或者: >>> arr = [[1,4,7,10,1

这篇文章主要介绍了Python获取二维数组的行列数的2种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 import numpy as np x = np.array([[1,2,5],[2,3,5],[3,4,5],[2,3,6]]) # 输出数组的行和列数 print x.shape # (4, 3) # 只输出行数 print x.shape[0] # 4 # 只输出列数 print x.shape[1] # 3 或者 In [48]

本文实例总结了php一维二维数组键排序方法.分享给大家供大家参考.具体方法如下: 在php中数组排序一直是一个老生常谈的问题,下面我们来集中讲一下关于在php中一维数组与二维数组排序的实现程序,相信对大家有一定的参考借鉴价值. 功能:对数组进行重新排序. 说明:冒泡排序 (一维数组)(二维数组某个健排序) 两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止 设想被排序的数组R[1..N] 垂直竖立,将每个数据元素看作有重量的气泡,从下往上扫描数组,凡

如下所示: var myarr=new Array(); //先声明一维 for(var i=0;i<2;i++){ //一维长度为2 myarr[i]=new Array(); //再声明二维 for(var j=0;j<3;j++){ //二维长度为3 myarr[i][j]=i+j; // 赋值,每个数组元素的值为i+j } } 以上就是小编为大家带来的关于JS中二维数组的声明方法的全部内容了,希望对大家有所帮助,多多支持我们~

本文实例讲述了java实现二维数组转置的方法.分享给大家供大家参考,具体如下: 这里在文件中创建Test2.Exchange.Out三个类 在Exchange类中编写exchange()方法,在方法中创建两个数组arraryA.arraryB,arraryB[j][i]=arraryA[i][j]实现数组的转置. 在Out类中编写out()方法,在方法中用for循环遍历实现输出. 具体代码如下: package Tsets; import java.util.*; public class Te

php怎么用递归函数遍历多维数组,php递归遍历多维数组的方法相关推荐

  1. 多叉树的前序遍历_二叉树的非递归遍历的思考

    封面图来自wikipedia 1 简介 二叉树的深度优先遍历(前序遍历.中序遍历.后序遍历)是一个比较基本的操作.如果使用递归的做法,很容易写出相应的程序:而如果使用非递归的做法,虽然也能写出相应的代 ...

  2. php addslashes 数组,用递归addslashes函数转义数组

    有个一个数组,可能是多维的,里面有些值带有特殊符号 比如" 我用递归加addslashes()转义 没有达到效果 帮忙看看哪错了 $arr=array('ii"',array('o ...

  3. php递归处理数组,PHP递归实现无限分类数组处理

    PHP递归实现无限分类数组处理 1,php递归算法实现无限分类 递归算法对无限分类的数组进行处理,分两种情况, 一种树状展示(数组包含子数组), 一种非树状展示(子类按照顺序排在父类的下面,不出现数组 ...

  4. es6遍历树结构并判断_递归遍历树结构,从某个节点开始查找其子节点中的所有叶子节点...

    背景 现在项目中哟这样的一个需求,左边显示一棵树目录,点击目录的一级或二级节点,右边显示其子节点中的所有叶子节点,而且要求前端来做这个,不用调用接口请求了,那么,这里记录一下我的实现方法.点击叶子节点 ...

  5. 【数据结构笔记10】二叉树的先序、中序、后序遍历,中序遍历的堆栈/非递归遍历算法,层序遍历,确定一个二叉树,树的同构

    本次笔记内容: 3.3.1 先序中序后序遍历 3.3.2 中序非递归遍历 3.3.3 层序遍历 3.3.4 遍历应用例子 小白专场:题意理解及二叉树表示 小白专场:程序框架.建树及同构判别 文章目录 ...

  6. 代码随想录day13|二叉树理论基础、二叉树的递归遍历、二叉树的迭代遍历

    二叉树理论基础 这边需要重点注意的是二叉树的链式节点的定义 struct TreeNode(){int val;TreeNode *left;TreeNode *right;TreeNode(int ...

  7. 二叉树的建造、递归与非递归遍历

    #include "stdafx.h" #include <iostream> #include <stack> #include <queue> ...

  8. 二叉树的非递归遍历(c/c++)

    由于递归算法相对于非递归算法来说效率通常都会更低,递归算法会有更多的资源需要压栈和出栈操作(不仅仅是参数,还有函数地址等)由于编译器对附加的一些栈保护机制会导致递归执行的更加低效,使用循环代替递归算法 ...

  9. 二叉树的非递归遍历详解

    @二叉树的常用算法 树的遍历(C语言实现) 树的遍历分为前序遍历(NLR),中序遍历(LNR),后续遍历(LRN)以及层次遍历,在树的定义中用的是递归方式定义,所以考虑用递归的方式实现遍历.另外,可以 ...

最新文章

  1. centos7.4.3 部署python-pcl亲测可用(采坑记)
  2. linux 推荐硬件配置,2012最受欢迎的Linux用户硬件配置
  3. 倚天·屠龙——唯我独尊
  4. Windows保护模式学习笔记(七)—— PDEPTE
  5. .NET Core log4net 使用(转贴)
  6. python3类与对象汽车,Python3 类与对象
  7. django 模板两次for循环_Django模板之基本的 for 循环 和 List内容的显示方式
  8. 前端学习(3127):react-hello-react之字符串形式
  9. 数据库管理工具:如何使用 Navicat Premium 转储(导出)和运行(导入)*.sql 文件?
  10. mysql锁申请步骤_大话MySQL锁
  11. java获取inputstream_Java:我怎样才能从inputStream获取编码?
  12. protobuf-3.0 win环境编译
  13. eNSP仿真模拟与实际环境的几个不符点
  14. 德国Vue.js2终极开发教程024--32
  15. 调试工具之UDP/TCP网络调试助手NetAssist
  16. 一次性学会如何选择合适的APS系统
  17. Subpalindromes
  18. 今日头条有麻烦了!App 被下架
  19. 数的相关概念——数码、位数、基数、位权
  20. 深度学习不得不知的英文名称

热门文章

  1. MySQL重安装,安装到最后出现Er1045的解决方法
  2. 自己编写错误代码的规范
  3. C#/VB.NET与西门子PLC进行ModbusTcp通信
  4. MAC OS 10.12 安装任意来源应用
  5. mysql的load data,高速将文本文件,插入数据库中
  6. bugscan泄露代码解密
  7. 推荐:PHPCMS v9 安全防范教程!
  8. spring邮件发送(转)
  9. [拇指飞动]读《程序员修炼之道:从小工到专家》
  10. ASP.NET服务器控件刷新后仍旧保持滚动位置