组PHP数组编号
发布时间:2020-12-13 22:44:40 所属栏目:PHP教程 来源:网络整理
导读:我怎么能改变这个: Array( [0] = 1 [1] = 2 [2] = 3 [3] = 4 [4] = 5 [5] = 6 [6] = 7 [7] = 11 [8] = 21 [9] = 22 [10] = 23 [11] = 24) 对此: 1-7,11,21-24 我在PHP数组中有一个这样的数字列表,我只是想让这个列表更小一些. 2000: 3 6 7 11 15 17 25 36
我怎么能改变这个:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 11 [8] => 21 [9] => 22 [10] => 23 [11] => 24 ) 对此: 1-7,11,21-24 我在PHP数组中有一个这样的数字列表,我只是想让这个列表更小一些. 2000: 3 6 7 11 15 17 25 36 42 43 45 2001: 2 3 4 5 6 9 10 11 12 13 34 37 45 46 47 48 49 50 51 52 2002: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 49 50 51 52 2003: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 2004: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 21 22 23 24 25 26 27 28 29 30 31 32 33 34 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 2005: 1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 2006: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 2007: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 解决方法
有趣的任务.
这是一个完全符合您要求的演示脚本. 调整味道. 码 <?php $groups = array(); $active_group = 0; $output = array(); $output_counter = 0; $nums = array( 1,2,3,4,5,6,7,21,22,23,24 ); foreach( $nums as $k => $num ) { // if this isn't the first item,and the current number // isn't one more than the previous one,increment the counter if( $k !== 0 && $nums[$k] !== $nums[$k-1]+1 ) $active_group ++; // add this number to a group $groups[ $active_group ][] = $num; } // take the 1st and last of each group foreach( $groups as $group ) { $first = array_shift( array_values($group) ); $output[$output_counter][] = $first; $last = array_pop( array_values($group) ); if( $first !== $last ) $output[$output_counter][] = $last; $output_counter++; } echo '<pre>'; print_r($output); ?> 产量 Array ( [0] => Array ( [0] => 1 [1] => 7 ) [1] => Array ( [0] => 11 ) [2] => Array ( [0] => 21 [1] => 24 ) ) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |