php - Traitement simple des chaînes, recherche d'idées.
滿天的星座
滿天的星座 2017-05-16 13:13:33
0
3
387

$arr = [2,3,4,5,8,10,11,12,13,16,19] ;

Convertir en chaîne

2-5, 8, 10-13, 16, 19

Mon idée personnelle est de sélectionner 8 16 19 qui ne dépendent pas des deux côtés, puis de sélectionner une valeur maximale et minimale parmi 2 3 4 5.

滿天的星座
滿天的星座

répondre à tous(3)
刘奇

Notez la valeur du point de départ et numérisez en arrière. Si elle est continue, continuez en arrière. Sinon, notez la valeur du point final et obtenez un début ou une fin. continuez...

淡淡烟草味
$arr=array(2,3,4,5,8,10,11,12,13,16,19);
//最大值
$max=max($arr);
//求和
$sun=array_sum($arr);
//排序
asort($arr);
//a1为标准数组,用来判断值是否存在
//a2用来存放已经被使用过的数
//a3为最后的结果数组
foreach ($arr as $key => $value) {
    
     $a1[$value]=$value;
}

foreach ($arr as $key => $value) {
     if(!isset($a2[$value])){
             $start=$value;
             $end=$value;
        
             $a2[$value]=$value;
             for($i=0;$i<$sun;$i++){
            
                            $end = $end+1;
                            if(isset($a1["$end"])){
                
                                $a2[$end]=$end;
            
                            }else{
                                $end =$end-1;
                                if($start==$end){
                                  $a3 []= $start;
                                }else{
                                  $a3 []=   $start."-".$end;
                                }
                                
                               //断开了,跳出循环
                                break;
                            }
            
            
               }
       }
}

echo '<pre>';
var_dump($a3);

die;
伊谢尔伦

Divisez le tableau en 5 morceaux, puis traitez les sous-tableaux.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal