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 = array();
if($index == count($arr)){
if(count($new_arr)==5){
$b[] = $new_arr;
echo "<pre>";
$total++;
}
return;
}
format($new_arr,$index+1,$arr);
$new_arr[] = $arr[$index];
format($new_arr,$index+1,$arr);
}
echo "<pre>";
print_r($b);
echo "</pre>";
相关推荐
-
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&qu
-
PHP实现找出有序数组中绝对值最小的数算法分析
本文实例讲述了PHP实现找出有序数组中绝对值最小的数算法.分享给大家供大家参考,具体如下: 问题: 一个有序数组,值有可能有负值,也有可能没有,现需要找出其中绝对值最小的值. 方法1: 遍历数组,找到绝对值最小值,时间复杂度O(n),n为元素个数. 方法2: 二分查找,因为数组有序,可以利用二分查找,时间复杂度O(logn). 分析步骤: 1. 如果第一个数为正数,说明整个数组没有负数,直接返回第一个数 2. 如果最后一个数为负数,说明整个数组没有正数,直接返回最后一个数 3. 数组元素有正有负
-
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实现找出数组中出现次数超过数组长度一半的数字算法.分享给大家供大家参考,具体如下: <?php * 算法要求:数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字. * * 算法分析:我们需要计算数组中每个数字的出现次数.在PHP中我们可以使用in_array函数 * 来判断一个元素是否出现在数组中.比如数组中含有1,2,3三个元素,我们要判断1是否存在 * 可以使用in_array(1,$array)来判断,但是这样只能判断1出现了一次,因为对于含有数组 * 元素1
-
php中通过数组进行高效随机抽取指定条记录的算法
php使用数组array_rand()函数进行高效随机抽取指定条数的记录,可以随机抽取数据库中的记录,适合进行随机展示和抽奖程序. 该算法主要是利用php的array_rand()函数,下面看一下array_rand()函数的主要功能: array_rand-从数组中随机取出一个或多个单元 mixed array_rand(array $input[,int $num_req] ) array_rand()在你想从数组中取出一个或多个随机的单元时相当有用.它接受input作为输入数组和一个可选的
-
php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
array_count_values()定义和用法 array_count_values() 函数用于统计数组中所有值出现的次数. 本函数返回一个数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数. 语法 array_count_values(array) 参数 描述 array 必需.规定输入的数组. 例子 复制代码 代码如下: <?php $a=array("Cat","Dog","Horse","Dog"
-
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
-
PHP获取数组长度或某个值出现次数的方法
本文实例讲述了PHP获取数组长度或某个值出现次数的方法.分享给大家供大家参考.具体分析如下: count():对数组中的元素个数进行统计; 例如: $arr = Array('0','1','2','3','4'); echo count($arr); // 输出 5 sizeof()和count()具有同样的用途,这两个函数都可以返回数组元素个数.可以得到一个常规标量变量中的元素个数,如果传递给这个函数的数组是一个空数组,或者是一个没有经过设定的变量,返回的数组元素个数就是0; array_c
-
php 二维数组快速排序算法的实现代码
php 二维数组快速排序算法的实现代码 二维数组排序算法与一维数组排序算法基本理论都是一样,都是通过比较把小的值放在左变的数组里,大的值放在右边的数组里在分别递归. 实例代码: <?php class Bubble { private function __construct() { } private static function sortt($data) { if (count ( $data ) <= 1) { return $data; } $tem = $data [0]['sco
-
php不用内置函数对数组排序的两个算法代码
一朋友找工作遇到的试题,备注一下. 极有可能今后我也会遇到的. 问题:php不用内置函数对数组排序,可能是降序或者升序 第一种方法:传说中的冒泡法 复制代码 代码如下: function arraysort($data, $order = 'asc') { //asc升序 desc降序 $temp = array (); $count = count ( $data ); if ($count <= 0) return false; //传入的数据不正确 if ($order == 'asc')
-
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数组冒泡排序算法.分享给大家供大家参考,具体如下: <?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次,因为循环到最后一个数时,后面没有数可以比较了,
随机推荐
- EF 配置Oracle数据库数据库连接字符串的实例
- Java进阶教程之String类
- SQL Server 向临时表插入数据示例
- asp.net 在DNN模块开发中遇到的resx怪问题
- Asp.net中把Excel数据存储至SQL Server中的具体实现方法
- 用Python做的数学四则运算_算术口算练习程序(后添加减乘除)
- C#使用LitJson解析JSON的示例代码
- Android之自定义实现BaseAdapter(通用适配器二)
- Bootstrap图片轮播组件使用实例解析
- 发邮件的asp(CDONTS.NewMail)
- sql 自定义百分比转换小数函数代码
- PhotoShop给图片自动添加边框及EXIF信息的JS脚本
- 测试控制台使用方法
- linux 后台日志 mysql 错误异常的解释(推荐)
- C#基础知识 全面解析可空类型
- C#多线程处理多个队列数据的方法
- 有时优化同作弊是可以这样的清楚区分
- VMware12.0安装Ubuntu14.04 LTS教程
- python3.6编写的单元测试示例
- java实现代码统计小程序