PHP使用递归算法无限遍历数组示例
本文实例讲述了PHP使用递归算法无限遍历数组。分享给大家供大家参考,具体如下:
(PS:为方便阅读,此处代码使用php代码格式化工具http://tools.jb51.net/code/phpformat进行了格式化处理)
<?php //无限遍历数组 $a1 = array("a", "b", "c"); //一维数组 $a2 = array(array(21, 3, 6), array("a", "b", "c")); //二维数组 $a3 = array(array(array(5, 55), 4, 444), 2, 7, 6, 8, array("w", "d", array(3, 2, "a"), "s")); //多维不规则数组 function fun($a) { foreach ($a as $val) { if (is_array($val)) { //如果键值是数组,则进行函数递归调用 fun($val); } else { // 如果键值是数值,则进行输出 echo "$val<br />"; } //end if } //end foreach } //end fun //fun($a1); //fun($a2); fun($a3); ?>
输出:
5 55 4 444 2 7 6 8 w d 3 2 a s
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数据结构与算法教程》、《php程序设计算法总结》、《php排序算法总结》、《PHP常用遍历算法与技巧总结》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
相关推荐
-
PHP二维数组去重算法
需求 现在有下面一组二维数组: array(8) { [0]=> array(2) { ["name"]=> string(4) "name" ["value"]=> string(6) "青叶" } [1]=> array(2) { ["name"]=> string(5) "phone" ["value"]=> string(1
-
PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解
数据结构很重要,算法+数据结构+文档=程序使用PHP描述冒泡排序算法,对象可以是一个数组 复制代码 代码如下: //冒泡排序(数组排序)function bubble_sort($array) {$count = count($array);if ($count <= 0)return false;for($i=0; $i<$count; $i++){for($j=$count-1; $j>$i; $j–){if ($array[$j] < $array[$j-1]){$tmp =
-
php中通过数组进行高效随机抽取指定条记录的算法
php使用数组array_rand()函数进行高效随机抽取指定条数的记录,可以随机抽取数据库中的记录,适合进行随机展示和抽奖程序. 该算法主要是利用php的array_rand()函数,下面看一下array_rand()函数的主要功能: array_rand-从数组中随机取出一个或多个单元 mixed array_rand(array $input[,int $num_req] ) array_rand()在你想从数组中取出一个或多个随机的单元时相当有用.它接受input作为输入数组和一个可选的
-
PHP实现找出有序数组中绝对值最小的数算法分析
本文实例讲述了PHP实现找出有序数组中绝对值最小的数算法.分享给大家供大家参考,具体如下: 问题: 一个有序数组,值有可能有负值,也有可能没有,现需要找出其中绝对值最小的值. 方法1: 遍历数组,找到绝对值最小值,时间复杂度O(n),n为元素个数. 方法2: 二分查找,因为数组有序,可以利用二分查找,时间复杂度O(logn). 分析步骤: 1. 如果第一个数为正数,说明整个数组没有负数,直接返回第一个数 2. 如果最后一个数为负数,说明整个数组没有正数,直接返回最后一个数 3. 数组元素有正有负
-
php不用内置函数对数组排序的两个算法代码
一朋友找工作遇到的试题,备注一下. 极有可能今后我也会遇到的. 问题:php不用内置函数对数组排序,可能是降序或者升序 第一种方法:传说中的冒泡法 复制代码 代码如下: function arraysort($data, $order = 'asc') { //asc升序 desc降序 $temp = array (); $count = count ( $data ); if ($count <= 0) return false; //传入的数据不正确 if ($order == 'asc')
-
php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
array_count_values()定义和用法 array_count_values() 函数用于统计数组中所有值出现的次数. 本函数返回一个数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数. 语法 array_count_values(array) 参数 描述 array 必需.规定输入的数组. 例子 复制代码 代码如下: <?php $a=array("Cat","Dog","Horse","Dog"
-
PHP获取数组长度或某个值出现次数的方法
本文实例讲述了PHP获取数组长度或某个值出现次数的方法.分享给大家供大家参考.具体分析如下: count():对数组中的元素个数进行统计; 例如: $arr = Array('0','1','2','3','4'); echo count($arr); // 输出 5 sizeof()和count()具有同样的用途,这两个函数都可以返回数组元素个数.可以得到一个常规标量变量中的元素个数,如果传递给这个函数的数组是一个空数组,或者是一个没有经过设定的变量,返回的数组元素个数就是0; array_c
-
PHP实现找出数组中出现次数超过数组长度一半的数字算法示例
本文实例讲述了PHP实现找出数组中出现次数超过数组长度一半的数字算法.分享给大家供大家参考,具体如下: <?php * 算法要求:数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字. * * 算法分析:我们需要计算数组中每个数字的出现次数.在PHP中我们可以使用in_array函数 * 来判断一个元素是否出现在数组中.比如数组中含有1,2,3三个元素,我们要判断1是否存在 * 可以使用in_array(1,$array)来判断,但是这样只能判断1出现了一次,因为对于含有数组 * 元素1
-
php数组冒泡排序算法实例
本文实例讲述了php数组冒泡排序算法.分享给大家供大家参考,具体如下: <?php /*@冒泡排序算法 */ $array=array(5,45,22,11,32,28,35,56,17,21,92); $len=count($array);//计算数组长度 for($i=0;$i<$len-1;$i++){//需要比较$len-1轮,每一轮需要比较$len-1次 for($j=0;$j<$len-1;$j++){//需要比较$len-1次,因为循环到最后一个数时,后面没有数可以比较了,
-
php生成数组的使用示例 php全组合算法
复制代码 代码如下: <?php$arr = array(1,2,3,4,5);/*@ res 组装好的每一注的每个元素@ $a 临时数组@ $index 数组索引@ $arr 请求的数组@ $b 最后要的结果 */$a = array();$b = array();$total = 0;format($a,0,$arr);function format($res,$index,$arr){ global $total; global $b; $new_arr = $res; $n_arr =
-
php 二维数组快速排序算法的实现代码
php 二维数组快速排序算法的实现代码 二维数组排序算法与一维数组排序算法基本理论都是一样,都是通过比较把小的值放在左变的数组里,大的值放在右边的数组里在分别递归. 实例代码: <?php class Bubble { private function __construct() { } private static function sortt($data) { if (count ( $data ) <= 1) { return $data; } $tem = $data [0]['sco
-
php计算数组相同值出现次数的代码(array_count_values)
php计算数组相同值出现次数,可以使用php自带函数array_count_values : 说明 array array_count_values ( array $input )array_count_values() 返回一个数组,该数组用 input 数组中的值作为键名,该值在 input 数组中出现的次数作为值. array_count_values() 例子 复制代码 代码如下: <?php $array = array(1, "hello", 1, "wo
随机推荐
- 将字符串小写转大写并延时输出的批处理代码
- JS动态的把左边列表添加到右边的实现代码(可上下移动)
- javascript开发技术大全 第4章 直接量与字符集
- js实现类似光照的炫彩文字渐变视觉冲击效果
- Dreamweaver 在onLoad运行***,发生了一个JavaScript错误
- 一个查看局域网在线IP的vbs脚本
- iOS10 权限崩溃问题详解及解决方案
- Google 静态地图API实现代码
- 开启SQLSERVER数据库缓存依赖优化网站性能
- PHP.MVC的模板标签系统(三)
- php解析http获取的json字符串变量总是空白null
- PHP利用二叉堆实现TopK-算法的方法详解
- Python中的深拷贝和浅拷贝详解
- php-fpm开机自动启动Shell脚本
- POI读取excel简介_动力节点Java学院整理
- js传中文参数controller里获取参数乱码问题解决方法
- 服务器维护小常识(硬盘内容增加、数据库优化等)
- IE的有条件注释判定IE版本详解(附实例代码)
- TopList标签和JavaScript结合两例
- win2003 回收站目录的权限设置安全问题防止被入侵