het moet zijn: $bericht = $keuze[randomgen()] op regel 9. Ik kan niet goed uitleggen waarom dat zo is, misschien dat iemand anders dit beter kan.
EDIT: een functie geeft een waarde terug en niet een variabele
Link gekopieerd
<?
$nummer = randomgen();
$bericht = $keuze[$nummer];
?>
of
<?
$bericht = $keuze[randomgen()];
?>
Kan allemaal.
edit:
Misschien dat je in randomgen() nog een parameter kunt maken voor het maximale nummer.
Link gekopieerd
Ik had nog een vraag?
Hoe haal je bijvoorbeeld een waarde uit een variabel die in een functie staat naar het hoofdscript of buiten de functie?
Link gekopieerd
<?php
function blaat()
{
$var = 423423;
return $var;
}
// We hebben nu een kopie van $var uit de functie
$var = blaat();
?>
of meerdere variabelen
<?php
function blaat()
{
$var1 = 423423;
$var2 = 423423;
return array($var1,$var2);
}
$verzameling = blaat();
// We hebben nu een kopie van $var1 en var2 uit de functie
$var1 = $verzameling[0];
$var2 = $verzameling[1];
// Wat ook kan is:
list($var1, $var2) = blaat();
?>
Het kan op nog veel meer manieren maar dit is het eenvoudigst.
Je hoeft dus bijvoorbeeld ook niet met kopieën te werken als je dat wilt.
Link gekopieerd
Het is gelukt, alleen nu ik alles in 1 functie wil zetten krijg weer problemen.
Alles lijkt inorde alleen krijg ik een leeg scherm bij het draaien van het script.
<?php
//random generator
function random() {
mt_srand((double)microtime() * 1000000);
$nummer = mt_rand(0,4); //Willekeurig getal genereren tussen 0/4
//5 keuzes (0/4)
$keuze[] = "Engels";
$keuze[] = "Nederlands";
$keuze[] = "Frans";
$keuze[] = "Duits";
$keuze[] = "Spaans";
$bericht = $keuze[$nummer];
echo "De Taal: ".$bericht;
}
?>
Link gekopieerd
Je moet je functie nog even aanroepen.
<?php
random();
?>
edit:
Trouwens je kunt alles boven de functie mt_rand verwijderen, kijk maar eens bij de note,
hier
regel 4 van je code is dus overbodig, als je PHP 4.2.0 of hoger hebt.
Link gekopieerd