php数组最大数及编号,组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 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

解决方法:

有趣的任务.

这是一个完全符合您要求的演示脚本.

调整味道.

$groups = array();

$active_group = 0;

$output = array();

$output_counter = 0;

$nums = array( 1, 2, 3, 4, 5, 6, 7, 11, 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 '

';

print_r($output);

?>

产量

Array

(

[0] => Array

(

[0] => 1

[1] => 7

)

[1] => Array

(

[0] => 11

)

[2] => Array

(

[0] => 21

[1] => 24

)

)

标签:php,arrays,numbers,range,grouping

来源: https://codeday.me/bug/20190709/1414214.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值