Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

array meenemen naar function

Anoniem
Rumaro
5 antwoorden
  • Ik heb een array met waarden.
    Nu ga ik een function in en is hij de gegevens van die array vergeten.
    Is er een manier om die waarden toch mee de function in te nemen ?

    De waarden veranderen soms en de gegevens worden uit de database gehaald.
    Als ik dit stukje code IN de function doe, is hij best wel lang bezig, dus dat is niet de oplossing, het moet er echt buiten.
  • Lees in ieder geval http://php.net/manual/en/language.variables.scope.php

    Als oplossing kan je een functie een argument meegeven.
    Zie http://www.php.net/manual/en/functions.arguments.php

    [code:1:9c2210baeb]
    function jouwfunctie($funcarray)
    {
    return $funcarray;
    }
    $jouwarray = array ('a'=>'blabla');
    echo jouwfunctie($jouwarray);
    [/code:1:9c2210baeb]
  • Dit is de aanroep:
    [code:1:2daa01a3dd] $myCelandar->showCalendar($jaar,$maand);[/code:1:2daa01a3dd]
    kan ik daarbinnen dan ook die functie aanroepen zoals jij beschreven hebt ?

    Hij hoeft trouwens geen return te hebben, want hij wordt verder alleen binnen die functie gebruikt.
    (deze wordt 365 keer aangeroepen, vandaar dat ik die array er buiten wil hebben)

    Ik ga dat morgen van die global eens proberen. :D
  • Pas het volgende:
    $myCelandar->showCalendar($jaar,$maand);
    aan naar
    $myCalendar->showCalendar($jaar,$maand,$array);
    En zoek de code
    function showCalendar($jaar,$maand); //deze twee variabelen kunnen ook een andere naam hebben overigens
    en verander dit naar
    function showCalendar($jaar,$maand,$array)
    en gebruik in die functie de variabele $array.

    Let wel op met globals; je moet namelijk dan overal rekening houden met dat de variabele met die naam kan bestaan en je daar dus niets mee moet doen. Variabele scopes zijn niet voor niets uitgevonden; zo zorg je ervoor dat code binnen je functie geen andere code beinvloed. Gebruik globals bij voorkeur alleen voor bijvoorbeeld je instellingen, die ook echt overal hetzelfde moet zijn, en die je maar één keer instelt.
  • Dankjewel !. :D

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.