unset(min($arr))
在php 中不工作
min($arr)
do给出最小值,unset($arr[1])也适用于
知道吗?
试试这个:
unset($arr[array_search(min($arr), $arr)]);
只需使用
array_sort($arr);
array_shift($arr);
这样就把它排序成最低的,然后从顶部弹出。
或者,您可以unset($arr[array_search(min($arr), $arr)]);
,但这似乎效率很低。
您可以在数组键列表上使用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
)