php多维数组全部组合(可直接使用)
来源:互联网 发布:淘宝天天特价是假货吗 编辑:程序博客网 时间:2024/05/18 11:46
正好用到时网上找到的代码,不过老外的代码用到了“按值传递”,在php5以上编译报错,我修改了一下。大家可以直接使用function combos($data, &$all = array(), $group = array(), $val = null, $i = 0){if (isset($val)){array_push($group, $val);}if ($i >= count($data)){array_push($all, $group);}else{foreach ($data[$i] as $v){combos($data,$all,$group, $v, $i + 1);}}return $all;}$data = array(array('a', 'b'),array('e', 'f', 'g'),array('w', 'x', 'y', 'z'),);$combos = combos($data);var_export($combos);输出什么? 它会 输出 a e w,a e x .......b g z ,所有可能的排列组合。这在做一些业务算法匹配时很有用,和大家分享。 php中有按值传递,如函数中的&$all ,但是php创始者认为在php中有按值传递“影响代码的简洁性”,所以后面很可能会抛弃。 事实上你在函数体内使用 按值传递会报出 "Call-time pass-by-reference has been deprecated"这样的警告,目前的解决办法是在函数名上使用按值传递。不要在函数体内部用。同时不建议修改php.ini使 警告不产生,这是无节操的程序员。
0 0
- php多维数组全部组合(可直接使用)
- Java 多维数组组合算法
- PHP多维数组
- PHP多维数组排序
- php多维数组遍历
- php 多维数组排序
- php多维数组
- PHP 多维数组
- PHP多维数组排序
- PHP 多维数组
- php多维数组排序
- php多维数组
- PHP - 多维数组
- php多维数组排序
- php 多维数组排序
- PHP多维数组排序
- PHP多维数组排序
- PHP多维数组排序
- Objective-C 简介Cocoa框架
- 抽象类和接口联系与区别
- MySql 备份与恢复
- [cf509B]Painting Pebbles
- C/C++字符串字面量的类型
- php多维数组全部组合(可直接使用)
- iOS: [NSString hash]出现同样的hash值问题
- 文件的输入输出(举例,文本文件复制) C 语言
- Android中采用pull解析xml文件
- android实现类似于支付宝余额快速闪动的效果
- android 开发实现悬浮窗体
- Android 横竖屏切换时不销毁当前activity 和 锁定屏幕
- OSX IDEA 下编译 Jni Native 头文件
- xmpp判断群列表