login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[OOP] return

Offline lasdesigner - 02/04/2006 15:44
Avatar van lasdesignerPHP beginner Hallo,

Ik zeg gelijk dat ik liever geen Voorbeeld post, aangezien het 'een nieuwe criminals' word. Ik weet het iedereen heeft er een hekel aan. So do I! Vandaar dat ik hem opnieuw script. Ik script hem dan in OOP maar stuit nu op een probleem.

Probleem:

Class
Functie 1
Functie 2

Met Functie 2 roep ik Functie 1 aan. Functie 1 moet dan wat returnen naar Functie 2. Ik heb dit zo gedaan:

return $aantal;

maar $aantal verschijnt niet in de 2de functie. Hoe kan dit?

Als jullie persee een voorbeeld willen moet je het maar vragen, dan post ik hem wel! Het is maar een deel van het script, maar toch ;). Alvast bedankt.

En sorry voor het ongemak!
Groet,

7 antwoorden

Gesponsorde links
Offline BramBo - 02/04/2006 15:49
Avatar van BramBo JS gevorderde hmm vreemd.

Je kan altijd proberen te checken waar het fout gaat return $var; zou in principe gewoon doen waarvoor hij bedoelt is. Maarre dus gewoon zoiets proberen :

  1. function la() {
  2. print $this->in();
  3. }
  4.  
  5. function in() {
  6. $i = 'ja';
  7. print $i;
  8. return $i;
  9.  
  10. }
Offline lasdesigner - 02/04/2006 16:33 (laatste wijziging 02/04/2006 17:55)
Avatar van lasdesigner PHP beginner Dit is mijn code.. Aangezien er niet gereageerd word ;)

  1. <?php
  2. //Weggehaald wegens misschien kopieren :D (Denk niet dat je erveel aan hebt, maar toch ;)
  3. ?>


@BramBo

Ik snap je niet?
Offline Simon - 02/04/2006 16:36 (laatste wijziging 02/04/2006 16:36)
Avatar van Simon PHP expert if($this->aantall > 0) {

zo mss?

en mss ook Casino::$this->AantalCasino
als het eerste niet helpt
Offline lasdesigner - 02/04/2006 16:39
Avatar van lasdesigner PHP beginner Ehm hoezo $this->aantall? Dan moet aantal toch in een variabele staan? Maar ik zou het even proberen.

Resultaat:
werkt niet.. Hij neemt weer gewoon: Gekocht. En de andere manier van jou:
werkt ook niet.

Sorry werkt allebei niet.
Offline nemesiskoen - 02/04/2006 17:30 (laatste wijziging 02/04/2006 17:30)
Avatar van nemesiskoen Gouden medaille

PHP expert
Simon, die '$this->aantall' is helemaal niet nodig. Het gaat hier om statische functies, dus die hebben geenv erband met elkaar.

Het probleem zit hem in het feit dat je nergens de waarde opvangt. Je voert gewoon de functie uit als een void functie (hoewel hij wel iets terugstuurt).

  1. $aantall = Casino::AantalCasino($gebruikersnaam);


Waarom 2 l'en?

En waarom dit:

  1. $aantal = count($data);


Veel succes ermee!

Gebruik ook duidelijkere variabelnamen. Namen als '$ding' zullen voor verwarring zorgen.
Offline Maarten - 02/04/2006 17:34
Avatar van Maarten Erelid Even half off-topic: ik heb geen hekel aan mensen die criminals herschrijven. Het beste zou nog altijd zijn om alle datacenters waar ook maar 1 criminals-ding te vinden is met de grond gelijk te maken. Maar als die brol dan toch populair moet zijn heb ik liever dat het dan een beetje degelijk gescript is, dus in feite doe je wel iets positief. Succes ermee dus 

Offline lasdesigner - 02/04/2006 17:54 (laatste wijziging 02/04/2006 17:55)
Avatar van lasdesigner PHP beginner @Murfy, bedankt! 
@nemesiscoen, dat begrijp je als je mijn DatabaseClass hebt gezien ;) Hier zet hij het resultaat in een array. Vandaar count i.p.v. mysql_num_rows.

Sorry van de ll'en ik dacht eerst dat het een andere fout was, vandaar dat ik het zo gedaan heb. En inderdaad, ik moet duidelijkere namen gebruiken ! Ik zou het veranderen, en gelijk even proberen of het lukt. Het werkt nog niet. Code:

  1. <?php
  2. //Gelukt!
  3. ?>


Oeps, moet ik natuurlijk wel return $aantal doden. Hij werkt! Bedankt.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.238s