我想将我的数组排序为newarray。如何删除带有第一个最小数字的数组条目?
<?php
$array = array(8, 2, 4, 1, 5, 3, 7);
$newarray = array();
$array_size = count ($array);
for ($i = 0; $i<$array_size; $i++) {
$smallestNumber = min($array);
$array2[] = $smallestNumber;
unset($array[$smallestNumber]);
}
print_r($array2);
?>
答案 0 :(得分:2)
如果您正在学习编程,那么可能您正在使用一些排序算法。 一些好的起点是
答案 1 :(得分:0)
<?php
$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);
foreach ($fruits as $key => $val) {
echo "fruits[" . $key . "] = " . $val . "\n";
}
?>
答案 2 :(得分:0)
它是次优的(因为它遍历数组多次 - 一次用于查找最小值,一次用于查找其索引),但是您可以使用最初发布的代码执行此操作以使其工作:
<?php
$array = array(8, 2, 4, 1, 5, 3, 7);
$newarray = array();
$array_size = count ($array);
for ($i = 0; $i<$array_size; $i++) {
$smallestNumber = min($array);
$smallestIndex = array_search($smallestNumber, $array)
$newarray[] = $smallestNumber;
unset($array[$smallestIndex]);
}
print_r($newarray);
?>