problem med uppgift 3.2 i kmom3

  • Författare
  • Meddelande

pojken

webbsurfare

  • Inlägg: 8
  • Blev medlem: 30 aug 2017, 14:51

problem med uppgift 3.2 i kmom3

Inlägg15 sep 2017, 16:55

Hej, jag har ett problem med att använda asort då jag jag får svaret:
{
"3": 5,
"2": 21.63,
"1": 98,
"0": 499,
"4": 9855
} (array)

istället för
{
"3": 5,
"2": 21.63,
"1": 98,
"0": 499,
"4": 9855
}
min kod ser ut såhär
Kod: Markera allt
asort($numbers2);

$ANSWER = $numbers2;

Vad gör jag för fel?
Användarvisningsbild

thulin

troubleshooter

  • Inlägg: 514
  • Blev medlem: 30 dec 2015, 15:33
  • Ort: Skurup

Re: problem med uppgift 3.2 i kmom3

Inlägg15 sep 2017, 18:23

Om du bifogar uppgiftstexten samt hela din lösning (hur skapar du $numbers2?) så går det lättare att hjälpa dig.
/Thulin

chokolotte

javascriptare

  • Inlägg: 35
  • Blev medlem: 21 aug 2017, 14:31

Re: problem med uppgift 3.2 i kmom3

Inlägg16 sep 2017, 09:26

Hej, kollade på min 3.2:a labb.
Tror du har skrivit lite fel i din frågetext här.

Jag har använt en annan snarlik sorteringsfunktion.
Du vill sortera i descending order och inte i ascending.

Lycka till,
mvh Charlotte

AndersA

html-kodare

  • Inlägg: 17
  • Blev medlem: 21 aug 2017, 21:40

Re: problem med uppgift 3.2 i kmom3

Inlägg19 sep 2017, 20:26

Jag har "fastnat" i denna uppgift:

Exercise 3.2 (1 points)
*
* Sort the array `[285, 11, 9.75, 9, 2216]` in decending order. Make sure
* that it does maintain the key association. Answer with the sorted array.
*
* Write your code below and put the answer into the variable ANSWER.
*/

Jag har skrivit så här:
Kod: Markera allt
$numbers = [285, 11, 9.75, 9, 2216];

sort($numbers);


Men det verkar inte vara OK. Tolkar uppgiften som att jag ska använda en "inbyggd" funktion i PHP och inte "foreach...as Loop".
Användarvisningsbild

thulin

troubleshooter

  • Inlägg: 514
  • Blev medlem: 30 dec 2015, 15:33
  • Ort: Skurup

Re: problem med uppgift 3.2 i kmom3

Inlägg19 sep 2017, 20:48

sort() behåller inte sin "key association", det är därför det inte funkar.
Jag la till 2 utskrifter i din lösning:

Kod: Markera allt
$numbers = [285, 11, 9.75, 9, 2216];
var_dump($numbers);
sort($numbers);
var_dump($numbers);


och får följande svar:
Kod: Markera allt
array(5) {
  [0] =>
  int(285)
  [1] =>
  int(11)
  [2] =>
  double(9.75)
  [3] =>
  int(9)
  [4] =>
  int(2216)
}
array(5) {
  [0] =>
  int(9)
  [1] =>
  double(9.75)
  [2] =>
  int(11)
  [3] =>
  int(285)
  [4] =>
  int(2216)
}


som du ser så stämmer inte indexen ([0]/[1]/[2]/[3]/[4]), med hur de var från början.

Jag hade tänkt som du, det borde finnas en inbyggd funktion för detta...
/Thulin

AndersA

html-kodare

  • Inlägg: 17
  • Blev medlem: 21 aug 2017, 21:40

Re: problem med uppgift 3.2 i kmom3

Inlägg19 sep 2017, 22:35

Ja, just det. "asort" ska enligt manualen göra så att index följer med. Har provat men asort ger inte rätt svar.
Kod: Markera allt
$numbers = [285, 11, 9.75, 9, 2216];
$ANSWER = asort($numbers);
Användarvisningsbild

thulin

troubleshooter

  • Inlägg: 514
  • Blev medlem: 30 dec 2015, 15:33
  • Ort: Skurup

Re: problem med uppgift 3.2 i kmom3

Inlägg19 sep 2017, 22:39

Då kollar vi manualen för asort():
http://php.net/manual/en/function.asort.php

Du tilldelar returvärdet av asort($numbers) till $ANSWER, kollar vi manualen så ser vi att returvärdet från asort() ger bara TRUE/FALSE beroende på om det gick bra eller inte. I labben ska du svara med den sorterade arrayen
/Thulin

AndersA

html-kodare

  • Inlägg: 17
  • Blev medlem: 21 aug 2017, 21:40

Re: problem med uppgift 3.2 i kmom3

Inlägg19 sep 2017, 23:07

OK, jag antog att $number efter "asort()" innehöll den nya, sorterade arrayen. Men det var fel...

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 31 gäster