Du kan inte riktigt jämföra en Array med en Klass. Du kan dock jämföra en Array med ett Objekt. Ett Objekt är alltså en instans av en Klass.
Det finns en inbyggd klass i PHP som heter stdClass, den har användningsområden likt en Array. Alltså något som du mer eller mindre använder för att förflytta data med. Exempel:
Kod:
$obj = new stdClass();
$obj->name = 'Karl';
$obj->age = 16;
echo $obj->name.' är '.$obj->age.' år';
Vilket skulle motsvara...
Kod:
$arr = array();
$arr['name'] = 'Karl';
$arr['age'] = 16;
echo $arr['name'].' är '.$arr['age'].' år';
Båda dessa skriver ut exakt samma sak.
När man pratar om OOP (Object Oriented Programming, Objekt Orienterad Programmering på svenska) så brukar det dock inte vara detta. Att använda Objekt är helt enkelt att strukturera upp din applikation.
Exempelvis: allt som har med A att göra hamnar i klass A. Allt som har med B att göra hamnar i klass B. Klass C har samma grundfunktionalitet som kass B och förlänger därför klass B.
Förklaring med lite kod:
Kod:
class Klass_B
{
public function do_something()
{
echo 'I did something!';
}
}
class Klass_C extends Klass_B
{
public function do_something_more()
{
echo $this->do_something().' And then I did something more!';
}
}
$obj = new Klass_C;
$obj->do_something_more();
Det där skulle alltså skriva ut "I did something! And then I did something more!". Orkar inte riktigt förklara allting, det här har redan blivit ett ganska långt inlägg. OOP är väldigt abstrakt men när du väl har lärt dig så underlättar det väldigt mycket när du utvecklar.
För att runda av så ger jag dig några bra video tutorials i ämnet:
http://www.killerphp.com/tutorials/object-oriented-php/
Lycka till!