PHP-сортировка массива не может получить правильный вывод

#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. вы пробовали использовать недавно упорядоченный массив, который я опубликовал выше? Ничто не должно быть перезаписано как одинокое, поскольку ни одно из чисел слева от => не совпадает…