数组中的键是否有等效的min()
?
给定数组:
$arr = array(300 => 'foo', 200 => 'bar');
如何返回最小键(200
)?
这是一种方法,但我必须想象有一种更简单的方法。
function minKey($arr) {
$minKey = key($arr);
foreach ($arr as $k => $v) {
if ($k < $minKey) $minKey = $k;
}
return $minKey;
}
$arr = array(300 => 'foo', 200 => 'bar');
echo minKey($arr); // 200
答案 0 :(得分:27)
试试这个:
echo min(array_keys($arr));
答案 1 :(得分:7)
尝试
echo min(array_keys($arr));
min()
是一个php函数,它将返回一个集合的最低值。 array_keys()
是一个返回数组所有键的函数。结合它们来获得你想要的东西。
如果您想了解有关这两项功能的更多信息,请查看min()
php guide和array_keys()
php guide
答案 2 :(得分:1)
使用array_search()
php函数。
array_search(min($arr), $arr);
以上代码会在您200
时打印echo
。
用于回显代码下方最低密钥使用的值,
echo $arr[array_search(min($arr), $arr)];
答案 3 :(得分:0)
这对其他人也有帮助,
<?php
//$arr = array(300 => 'foo', 200 => 'bar');
$arr = array("0"=>array('price'=>100),"1"=>array('price'=>50));
//here price = column name
echo minOfKey($arr, 'price');
function minOfKey($array, $key) {
if (!is_array($array) || count($array) == 0) return false;
$min = $array[0][$key];
foreach($array as $a) {
if($a[$key] < $min) {
$min = $a[$key];
}
}
return $min;
}
?>
答案 4 :(得分:-1)
$arr = array(
300 => 'foo', 200 => 'bar'
);
$arr2=array_search($arr , min($arr ));
echo $arr2;