recherche

Maison  >  Questions et réponses  >  le corps du texte

PHP calcule les valeurs maximales et minimales d'un tableau Dashenjin

Comment calculer la valeur maximale et la valeur minimale d'un tel tableau

Vous pouvez voir en un coup d'œil que la valeur minimale est 0 et la valeur maximale est 459, mais comment la calculer en utilisant php ?

怪我咯怪我咯2752 Il y a quelques jours825

répondre à tous(6)je répondrai

  • 高洛峰

    高洛峰2017-05-18 10:48:03

    1. Convertissez-le en un tableau unidimensionnel et utilisez min et max pour trouver respectivement le minimum et le maximum

    function getMaxAndMin($items){
        $newItems=[];
        $cutStr=',';//要分割的字符
        foreach($items as $item)
        {
        //保证是String并且包含','
          if(is_string($item) && strpos($item,$cutStr)!==false)
          {
            list($t1,$t2)=explode(',',$item)
            $newItems[]=$t1;
            $newItems[]=$t2;
           }else{
               $newItems[]=$item;
           }
        }
        return [min($newItems),max($newItems)];
    }
    $exampleArr=[
    '0,129',
    '130,249',
    '250,459'
    ];
    list($min,$max)=getMaxAndMin($exampleArr);

    Ajoutez un plan en bas, ce qui est plus simple
    @jacoob_w

    function getMaxAndMin($items,$operator=',')
    {
        $data = explode($operator, join($operator,$data));
        return [min($data),max($data)];
    }

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-18 10:48:03

    <?php                                                                                                                                                                       
    define('CLI_SCRIPT', true);                                                                                                                                                 
                                                                                                                                                                                
    $example = array(                                                                                                                                                           
        '0, 129',                                                                                                                                                               
        '130, 249',                                                                                                                                                             
        '250, 459'                                                                                                                                                              
    );                                                                                                                                                                          
    $new_arr = [];                                                                                                                                                              
    foreach ($example as $item) {                                                                                                                                               
        $new_items = explode(',', $item);                                                                                                                                       
        $new_arr = array_merge($new_arr, $new_items);                                                                                                                           
    }                                                                                                                                                                           
    var_dump($new_arr);                                                                                                                                                         
    sort($new_arr, SORT_NUMERIC);    //排序                                                                                                                                     
    $min = array_shift($new_arr);    //最小值                                                                                                                                   
    $max = array_pop($new_arr);      //最大值                                                                                                                                           
    var_dump($min);                                                                                                                                                             
    var_dump($max);  

    répondre
    0
  • 仅有的幸福

    仅有的幸福2017-05-18 10:48:03

    1. Vous pouvez implémenter l'algorithme manuellement, mais les performances peuvent être imaginées
    2 Il est recommandé d'utiliser les fonctions intégrées de PHP : http://php.net/manual/zh/func...

    .

    répondre
    0
  • 世界只因有你

    世界只因有你2017-05-18 10:48:03

    $arr = array(
        '0,129',
        '130,249',
        '250,459',
    );
    $mix = intval($arr[0]);
    $max = explode(',', end($arr))[1];

    Utiliser en fonction de la situation réelle
    Parce que j'ai vu que l'interrogateur avait d'autres problèmes, j'ai décidé que sa structure de données est comme ceci, et la taille augmente de haut en bas

    répondre
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-18 10:48:03

    J'ai adopté la réponse si rapidement. J'estime personnellement que la solution que j'ai adoptée n'est pas la meilleure.

    $data = array(
        '0,129',
        '130,249',
        '380,22'
    );
    
    $dataArr = explode(',', join(',',$data));
    echo "max:".max($dataArr)."<br/>";
    echo "min:".min($dataArr);

    répondre
    0
  • phpcn_u1582

    phpcn_u15822017-05-18 10:48:03

    $data = ['0,129','130,249','250,459'];
      $str=implode(',',$data);
      $arr=explode(',',$str);
      var_dump(max($arr));
      var_dump(min($arr));

    répondre
    0
  • Annulerrépondre