php的max,min函数详解
来源:互联网 发布:证件照制作软件 编辑:程序博客网 时间:2024/04/29 16:16
一、定义
(1)max() 返回最大值。
手册:http://www.w3school.com.cn/php/func_math_max.asp
max() 返回参数中数值最大的值。
如果仅有一个参数且为数组,max() 返回该数组中最大的值。如果第一个参数是整数、字符串或浮点数,则至少需要两个参数而 max() 会返回这些值中最大的一个。可以比较无限多个值。
(2)min() 返回最小值。
手册:http://www.w3school.com.cn/php/func_math_min.asp
min() 返回参数中数值最小的。
如果仅有一个参数且为数组,min() 返回该数组中最小的值。如果第一个参数是整数、字符串或浮点数,则至少需要两个参数而 min() 会返回这些值中最小的一个。可以比较无限多个值。
二、实例代码比较
(1)一维数组比较
//比较一维数组的值$arr1 = array(1,2,5,7,9); $max = max($arr1); $min = min($arr1); var_dump($max); //9 var_dump($min); // 1
(2)比较简单的二维数组
$arr2 = array( array( 'code'=>"040100000045" ), array( 'code'=>"040100000046" ), array( 'code'=>"040100000047" ), array( 'code'=>"040100000048" ) ); $max1 = max($arr2); $min1 = min($arr2); echo '<br/>'; echo '<br/>'; var_dump($max1); //array(1) { ["code"]=> string(12) "040100000048" } var_dump($min1); //array(1) { ["code"]=> string(12) "040100000045" }
这里发现,单字段的二维数组也是可以比较的。我们可以把我们需要进行比较的字段赋值到一个新的数组中,然后用max(),或者min()函数。
(3)稍复杂的二维数组
$arr2 = array( array( 'code'=>"040100000045", 'type'=>"二货", ), array( 'code'=>"040100000048", 'type'=>"吃货", ), array( 'code'=>"040100000047", 'type'=>"三货", ), array( 'code'=>"040100000046", 'type'=>"四货", ) ); $max2 = max($arr2); $min2 = min($arr2); echo '<br/>'; echo '<br/>'; //输出结果:array(2) { ["code"]=> string(12) "040100000048" ["type"]=> string(6) "吃货" } var_dump($max2); // 输出结果:array(2) { ["code"]=> string(12) "040100000045" ["type"]=> string(6) "二货" } var_dump($min2);
这里我们可以发现,比较的结果还是正常的。那么我们继续试验。
(4)更复杂的数组比较
$arr3 = array( array( 'test'=>"试一试", 'code'=>"040100000045", 'type'=>"二货", ), array( 'test'=>"试二试", 'code'=>"040100000048", 'type'=>"吃货", ), array( 'test'=>"试三试", 'code'=>"040100000047", 'type'=>"三货", ), array( 'test'=>"试四试", 'code'=>"040100000046", 'type'=>"四货", ) ); $max3 = max($arr3); $min3 = min($arr3); echo '<br/>'; echo '<br/>'; //输出结果:array(3) { ["test"]=> string(9) "试四试" ["code"]=> string(12) "040100000046" ["type"]=> string(6) "四货" } var_dump($max3); //输出结果:array(3) { ["test"]=> string(9) "试一试" ["code"]=> string(12) "040100000045" ["type"]=> string(6) "二货" } var_dump($min3);
这里我们发现,code的排序已经不再准确了,取而代之的是,test字段反而是按照最大最小值打印的。这里我们可以发现,max和min函数的比较是从左到右比较的。特别是对于二维数组来说,都是先比较第一个字段的值。
(5)测试,第一个字段都相同的数组
//第一个字段都相同的数组 $arr4 = array( array( 'test'=>"试一试", 'code'=>"040100000045", 'type'=>"二货", ), array( 'test'=>"试一试", 'code'=>"040100000048", 'type'=>"吃货", ), array( 'test'=>"试一试", 'code'=>"040100000047", 'type'=>"三货", ), array( 'test'=>"试一试", 'code'=>"040100000046", 'type'=>"四货", ) ); $max4 = max($arr4); $min4 = min($arr4); echo '<br/>'; echo '<br/>'; //输出结果:array(3) { ["test"]=> string(9) "试一试" ["code"]=> string(12) "040100000048" ["type"]=> string(6) "吃货" } var_dump($max4);//输出结果: array(3) { ["test"]=> string(9) "试一试" ["code"]=> string(12) "040100000045" ["type"]=> string(6) "二货" } var_dump($min4);
这里就显而易见了。max和min函数就是从左到右先比较第一组,如果第一组相同的话,就比较第二组。而后输出结果。
max()函数和min()函数做简单的比较还不错,如果需要对多维数组中的每个值都排序的话,那么用max和min显然就不太合适了。
三、php获取二维数组具体字段的最大值
//这里的$code是一个二维数组,我们需要取出里面code字段的最大值//先获取$code[0]中的code值 $max = $code[0]['code']; //循环$code字段,然后比较循环后的值 foreach ($code as $k => $v) { if ($v > $max) { //循环比较,取最大值 $max = $v; } } //此时获取的$max是一个数组,下面取出数组中的'code'字符串 $max = $max['code']; } return $max;
end
- php的max,min函数详解
- max/min函数的用法
- max函数和min 函数的用法
- min/max函数的index问题
- 包含min、max函数的栈
- max、min、zip函数的用法
- min和max函数
- matlab max/min函数
- matlab max/min函数
- Python max(min)函数
- Matlab size函数max函数min函数的使用
- Max Min的使用
- Android min, max, targetSDK详解
- matlab max/min函数
- python: min 和 max 函数
- oracle 的使用 聚合函数的 max和min 使用
- Visual C++中min()和max()函数的使用
- 关于min(), max()函数访问索引的方法
- Spring的事务回滚机制
- php使用DOMDocument的时候如何判断xml中某节点是否存在
- 带参数的main函数
- 线上商城规划
- 聚类算法(一)
- php的max,min函数详解
- 300+篇运维、数据库等实战资料免费下载(文章+PDF+视频,持续更新)
- 不同进制的表示形式
- git 命令总结
- DL_tf-activation function and tf.nn.dropout
- window+anaconda3+python3.5下xgboost安装
- java基础的一些雷区
- java参数传递问题
- 多网卡SOCKET编程指定客户端通信网卡【转】