unset(min($arr))
无法在php中运行
min($arr)
do给出最小值并且未设置($ arr [1])也有效
任何想法?
答案 0 :(得分:0)
只需使用
array_sort($arr);
array_shift($arr);
对它进行排序,使得最低值首先出现,然后将其从顶部弹出。
或者,您可以unset($arr[array_search(min($arr), $arr)]);
,但这似乎效率很低。
答案 1 :(得分:0)
试试这个:
unset($arr[array_search(min($arr), $arr)]);
答案 2 :(得分:0)
您可以在数组键列表中使用array_reduce
。这样你就可以获得最小条目的索引,这样你就可以直接取消它了。
$data = array(8, 5, 7, 1, 4, 2);
print_r($data);
function mindex($min, $curr) {
global $data;
if (is_null($min) || $data[$curr] < $data[$min])
return $curr;
else
return $min;
}
$min_index = array_reduce(array_keys($data), mindex);
unset($data[$min_index]);
print_r($data);
<强>输出强>
Array
(
[0] => 8
[1] => 5
[2] => 7
[3] => 1
[4] => 4
[5] => 2
)
Array
(
[0] => 8
[1] => 5
[2] => 7
[4] => 4
[5] => 2
)