Aha, du har inga index i din array.
En bil-array ser alltså ut så här:
Array(
0 => '1310010936',
1 => 'Volvo'
2 => 'V70',
3 => 'WHX636',
4 => '15421'
);
Det finns alltså inget textbaserat index, utan "added" är ju index 0.
Alltså kan du ändra i sorteringen så att den sorterar $car1[0] mot $car2[0] eftersom det är den kolumn du vill sortera efter.
Sedan har du lite feltänk i din foreach-loop, då den kod som du visar just nu bara skriver ut första och andra bilen ($cararray[0] och $cararray[1]) men den skriver ut dem lika många gånger som det finns bilar. Alltså, om du har fem bilar i din array kommer den skriva ut nr 0 och 1 fem gånger.
En foreach-loop fungerar så att den första parametern ($cararray) är den array som skall loopas igenom. För varje varv i loopen kommer just den raden att lagras i $value så du kommer åt just den bilen genom $value.
Du bör alltså ta bort dina echo $cararray... då de skriver ut exakt det nummer som du skriver i klammern. Ersätt med echo $value[0] för "added", $value[1] för namn, $value[2] för regnr osv.
För att få din kod tydligare tycker jag att du bör ha tydliga index i arrayen.
$acar = array($car->added, $car->brand, $car->model, $car->regno, $car->miles);
Detta skapar en array med fem värden:
Array(
0 => '1310010936',
1 => 'Volvo',
2 => 'V70',
3 => 'WHX636',
4 => '15421'
);
För att få tydligare index kan du lägga till dem i array-skapandet:
$acar = array('added' => $car->added, 'brand' => $car->brand, 'model' => $car->model, 'regno' => $car->regno, 'miles' => $car->miles);
eller ännu hellre, lägg till lite mellanrum så det blir mer överskådligt:
$acar = array(
'added' => $car->added,
'brand' => $car->brand,
'model' => $car->model,
'regno' => $car->regno,
'miles' => $car->miles
);
Nu ser arrayen ut så här:
Array(
'added' => '1310010936',
'brand' => 'Volvo',
'model' => 'V70',
'regno' => 'WHX636',
'miles' => '15421'
);
och om vi vill skriva ut något är det enkelt att veta hur vi skall komma åt det:
echo $acar['model']; // Skriver ut Volvo
// istället för $acar[1]
echo $acar['regno']; skriver ut WHX636
// istället för $acar[3]
Alltså tycker jag du också ska göra om din foreach-loop:
foreach( $cararray as $thiscar )
{
echo("{$thiscar[added]} ");
echo("{$thiscar[brand]} ");
echo("{$thiscar[model]} ");
echo("{$thiscar[regno]} ");
echo("{$thiscar[miles]} <br>");
}
Ser du att koden blir lättare och tydligare att läsa och förstå??