php 获取二位数组中某一个元素最小的值

比如一个二维数组是array{[0]=>array{'id'=>1,'name'=>'卧室','persiods'=>8},[1]=>array{'id'=>1,'nam... 比如一个二维数组是
array{
[0] =>array {
'id'=>1,
'name'=>'卧室',
'persiods'=>8
},

[1] =>array {
'id'=>1,
'name'=>'卧室',
'persiods'=>9
},

[2] =>array {
'id'=>1,
'name'=>'卧室',
'persiods'=>8
},

[3] =>array {
'id'=>1,
'name'=>'卧室',
'persiods'=>10
},

[4] =>array {
'id'=>1,
'name'=>'卧室',
'persiods'=>7
},

[5] =>array {
'id'=>1,
'name'=>'卧室',
'persiods'=>7
},

[6] =>array {
'id'=>1,
'name'=>'卧室',
'persiods'=>7
}
}

就是这样的二维数组,我想获取这个二维数组中persiods这个元素值最小的是哪个值,把这个值获取出来就行,有没有可以按照persiods元素从小到大排序的php函数或者其他好的方法,求高手帮忙
展开
 我来答
is8888
推荐于2017-12-15 · TA获得超过695个赞
知道小有建树答主
回答量:530
采纳率:0%
帮助的人:564万
展开全部
这个题有两个思路:
第一个是自己写个排序算法,将二维数组按照指定的键排序,如persiods,这样的方法网上多的是,大致过程如下(自己修改验证,我这里不是很方便进行运行):

// 使用冒泡排序法进行排序
function sortMultiArray($arr, $key) {
$len = count($arr);

for ($i=0; $i<$len-1; $i++) {
for ($j=$i+1; $j<$len; $j++) {
if ($arr[$i][$key] > $arr[$j][$key]) {
$tmp = $arr[$i][$key];

$arr[$i][$key] = $arr[$j][$key];
$arr[$j][$key] = $tmp;
}
}

}

return $arr;

}
然后把你的参数传进去,取第一个就可以了。

第二种方式就简单了,如果这种操作不通用,或者你只运行一次,下面的方法就简单多了:
// 首先我们假设最下的是$min,默认是null
$min = null;
// $arr是你要处理的数据
$arr = array(...);
// 然后遍历就可以了
$len = count($arr);
for ($i=0; $i<$len; $i++){
if ($i==0){
$min = $arr[$i];

continue;

}

if ($arr[$i]['persiods']>$min['persiods']){
$min = $arr[$i];
}

}
// 最后这个$min就是你要的了
追问
非常谢谢
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-11-23
展开全部
$arr=二维数组
$mix=$arr[0]['persiods'];
foreach($arr as $key => $val){
if($mix > $val['persiods']){
$mix=$val['persiods'];
}
}

echo $mix;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式