PHP mengira nilai maksimum dan minimum bagi tatasusunan Dashenjin
怪我咯
怪我咯 2017-05-18 10:46:03
0
6
845

Bagaimana untuk mengira nilai maksimum dan nilai minimum tatasusunan sedemikian

Anda boleh lihat sepintas lalu bahawa nilai minimum ialah 0 dan nilai maksimum ialah 459, tetapi bagaimana anda mengiranya menggunakan php?

怪我咯
怪我咯

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

membalas semua(6)
小葫芦

1 Tukarkannya kepada tatasusunan satu dimensi dan gunakan min dan maks untuk mencari minimum dan maksimum masing-masing

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

Tambah pelan di tingkat bawah, yang lebih mudah
@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 Anda boleh melaksanakan algoritma secara manual, tetapi prestasi boleh dibayangkan
2 Adalah disyorkan untuk menggunakan fungsi terbina dalam PHP: http://php.net/manual/zh/func...

.
世界只因有你
$arr = array(
    '0,129',
    '130,249',
    '250,459',
);
$mix = intval($arr[0]);
$max = explode(',', end($arr))[1];

Gunakan mengikut situasi sebenar
Oleh kerana saya melihat bahawa penyoal mempunyai masalah lain, saya memutuskan bahawa struktur datanya adalah seperti ini, dan saiznya meningkat dari atas ke bawah

我想大声告诉你

Saya menerima jawapan dengan begitu pantas, saya secara peribadi merasakan bahawa jawapan yang saya pakai bukanlah penyelesaian terbaik.

$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));
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan