[PHP] Classes + Arrays

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • reddevil
  • Registratie: Februari 2001
  • Laatst online: 04-09 10:21
Allereerst, misschien is het er al... ik probeer de ServUDeamon.ini file te parsen naar een website zodat ik online alle users enzo kan zien ;) Misschien is het al gemaakt, zo ja, iemand url voor het script??? :P

Maar goed, ff m'n probleem:
Ik heb een class met naam FTPUser waarin enkele vars bijgehouden worden als name, group, etc.
Nu heb ik alle FTPUsers in een array (users) gegooid.
Als ik nu : $current_user=array[0] doe krijg ik een object terug. Het gebruik maken van $current_user->name werkt dan niet.
Ik kan natuurlijk wel array[0]->name doen, maar zoiets wil ik niet. Bovenstaande code lijkt me toch goed kunnen (ik als java programmeur zou iets van $current_user=(FTPUser)array[0] willen doen, dus classcasting gebruiken, maar php weigert deze regel)

Graag hulp!

Acties:
  • 0 Henk 'm!

Verwijderd

Ik snap je probleem niet helemaal je wilt dus een waarde halen uit een array die als variabele van de class staat?
Dat moet gewoon kunnen met $this->users[index]

Acties:
  • 0 Henk 'm!

  • reddevil
  • Registratie: Februari 2001
  • Laatst online: 04-09 10:21
eeehm nee, in de array zitten die classes. Dus als je met array[<x>] een waarde uit die array haalt krijg je een object terug. Als je nu dit object opslaat in bv
$obj (dus $obj=array[0]) en dan $obj->name doet werkt het niet, omdat $obj een 'Object' is in plaats van een 'FTPUser'

[ Voor 27% gewijzigd door reddevil op 03-04-2003 11:43 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Dit werkt bij mij toch gewoon als ik het even test:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<html>
<head>
</head>
<body>
<?
class Test{
    function blaat(){
        print 'blaat';
    }
}

$classes = array();
$classes[0] = new Test;
$classes[0]->blaat();
?>
</body>
</html>

Acties:
  • 0 Henk 'm!

  • reddevil
  • Registratie: Februari 2001
  • Laatst online: 04-09 10:21
eehm dit bedoelde ik niet helemaal, ik wilde eerst

$obj=$classes[0] doen en dan
$obj->bl44t();

Maar hij doet het al, want ik had een grove fout ergens anders staan :/ 8)7 |:(

Acties:
  • 0 Henk 'm!

Verwijderd

ook dat werkt gewoon.

Of het een logische/verstandige constructie is, dat is weer een andere vraag... :/
Pagina: 1