PHP calcule les valeurs maximales et minimales d'un tableau Dashenjin
怪我咯
怪我咯 2017-05-18 10:46:03
0
6
822

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 ?

怪我咯
怪我咯

走同样的路,发现不同的人生

répondre à tous(6)
小葫芦

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)];
}
伊谢尔伦
<?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);  
仅有的幸福

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...

.
世界只因有你
$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

我想大声告诉你

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);
phpcn_u1582
$data = ['0,129','130,249','250,459'];
  $str=implode(',',$data);
  $arr=explode(',',$str);
  var_dump(max($arr));
  var_dump(min($arr));
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal