84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
这样的数组 如何 计算出 最大值 最小值
一眼可以看出最小值是 0 最大值是 459 但是怎么 用php算出来尼
走同样的路,发现不同的人生
1.转换成一维数组,分别用min和max求出最小和最大
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);
补充一个楼下的方案,更简单@jacoob_w
function getMaxAndMin($items,$operator=',') { $data = explode($operator, join($operator,$data)); return [min($data),max($data)]; }
雷雷
1.你可以手动去实现算法,不过性能可想而知2.建议使用PHP内置函数:http://php.net/manual/zh/func...
$arr = array( '0,129', '130,249', '250,459', ); $mix = intval($arr[0]); $max = explode(',', end($arr))[1];
结合实际情况使用因为见到题主还有其他的问题,认定他的数据结构就是这样,大小从上至下增加
这么快就采纳答案了,个人觉得采纳的不是最优方案呀。
$data = array( '0,129', '130,249', '380,22' ); $dataArr = explode(',', join(',',$data)); echo "max:".max($dataArr)."<br/>"; echo "min:".min($dataArr);
1.转换成一维数组,分别用min和max求出最小和最大
补充一个楼下的方案,更简单
@jacoob_w
雷雷
1.你可以手动去实现算法,不过性能可想而知
2.建议使用PHP内置函数:http://php.net/manual/zh/func...
结合实际情况使用
因为见到题主还有其他的问题,认定他的数据结构就是这样,大小从上至下增加
这么快就采纳答案了,个人觉得采纳的不是最优方案呀。
雷雷