#php #arrays #sorting
#php #массивы #сортировка
Вопрос:
может ли кто-нибудь помочь мне, как получить сортировку чисел;
num1 = 1
num2 = 1
num3 = 3
num4 = 5
$values = array($_POST["num1"] => 1, $_POST["num2"] => 2,$_POST["num3"] => 3,$_POST["num4"] =>4);
asort($values);
foreach($values as $key => $val){
echo "<br>$key = $val<br>";
}
Num1 не печатается..
и я получил вывод
1 = 2
3 = 3
4 = 4
как я могу завершить вывод таким образом?
1 = 1 | 1 = 2 | 3 = 3 | 4 = 4
Комментарии:
1. вы не можете назначить ключ массива более одного раза!
2. awts T_T как я могу это решить?
Ответ №1:
У вас в вашем массиве неправильно установлена пара ключ => значение, поэтому ваш ключ для 1 перезаписывается.
Попробуйте заменить ваши $values = … строка с этим:
$values = array(1 => $_POST["num1"], 2 => $_POST["num2"], 3 => $_POST["num3"], 4 => $_POST["num4"]);
Комментарии:
1. что, если также введено значение $ val и есть дублированное значение, есть ли способ получить желаемый результат?
2. вы пробовали использовать недавно упорядоченный массив, который я опубликовал выше? Ничто не должно быть перезаписано как одинокое, поскольку ни одно из чисел слева от => не совпадает…